/* /App.razor.rz.scp.css */
.app-route-loading[b-yb2jo960to] {
    min-height: 60vh;
}
/* /Features/Admin/Components/CategoryManager.razor.rz.scp.css */
.category-manager-search[b-ljjvohga8b]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* /Features/Admin/Components/SettingsSection.razor.rz.scp.css */
/* One settings topic: a plain heading followed by equally sized destination tiles.
   Tiles stay the same height so the page reads as a tidy grid instead of a
   ragged stack of cards. */

.settings-section[b-xothtdi2jf] {
    min-width: 0;
}

.settings-section__heading[b-xothtdi2jf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.settings-section__icon[b-xothtdi2jf] {
    display: inline-flex;
    flex: 0 0 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface-accent);
    color: var(--wf-color-primary);
}

.settings-section__copy[b-xothtdi2jf] {
    min-width: 0;
}

.settings-section__title[b-xothtdi2jf] {
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-lg);
    font-weight: 600;
    line-height: 1.3;
}

.settings-section__note[b-xothtdi2jf] {
    max-width: 70ch;
    margin: 0.15rem 0 0;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    line-height: 1.5;
}

.settings-section__tiles[b-xothtdi2jf] {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
}

.settings-tile[b-xothtdi2jf] {
    display: grid;
    min-height: 6.75rem;
    align-content: start;
    padding: 1.125rem 1.25rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    color: var(--wf-text);
    column-gap: 0.875rem;
    grid-template-areas:
        "icon title chevron"
        "icon note note";
    grid-template-columns: 2.5rem minmax(0, 1fr) 1rem;
    row-gap: 0.2rem;
    text-decoration: none;
    transition:
        background-color var(--wf-transition-fast),
        border-color var(--wf-transition-fast);
}

.settings-tile:hover[b-xothtdi2jf] {
    border-color: var(--wf-border-hover);
    background: var(--wf-surface-hover);
    color: var(--wf-text);
    text-decoration: none;
}

.settings-tile:focus-visible[b-xothtdi2jf] {
    outline: 3px solid var(--wf-border-focus);
    outline-offset: 2px;
}

.settings-tile__icon[b-xothtdi2jf] {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface-subtle);
    color: var(--wf-text-secondary);
    grid-area: icon;
}

.settings-tile:hover .settings-tile__icon[b-xothtdi2jf] {
    background: var(--wf-surface-accent);
    color: var(--wf-color-primary);
}

.settings-tile__title[b-xothtdi2jf] {
    align-self: center;
    font-size: var(--wf-font-md);
    font-weight: 600;
    grid-area: title;
    line-height: 1.35;
}

.settings-tile__note[b-xothtdi2jf] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    grid-area: note;
    line-height: 1.5;
}

.settings-tile__chevron[b-xothtdi2jf] {
    align-self: center;
    color: var(--wf-text-subtle);
    grid-area: chevron;
    transition: color var(--wf-transition-fast), transform var(--wf-transition-fast);
}

.settings-tile:hover .settings-tile__chevron[b-xothtdi2jf] {
    color: var(--wf-color-primary);
    transform: translateX(2px);
}

@media (max-width: 575.98px) {
    .settings-tile[b-xothtdi2jf] {
        min-height: 0;
        padding: 1rem;
        grid-template-columns: 2.5rem minmax(0, 1fr) 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .settings-tile[b-xothtdi2jf],
    .settings-tile__chevron[b-xothtdi2jf] {
        transition: none;
    }

    .settings-tile:hover .settings-tile__chevron[b-xothtdi2jf] {
        transform: none;
    }
}
/* /Features/Admin/Components/UserRoleManager.razor.rz.scp.css */
.user-role-badges[b-a0m8n0juhy] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.user-role-search[b-a0m8n0juhy] {
    min-width: 12.5rem;
    flex: 1;
}

.user-role-filter--profile[b-a0m8n0juhy] {
    width: min(100%, 10rem);
}

.user-role-filter--status[b-a0m8n0juhy] {
    width: min(100%, 9.375rem);
}

.user-role-search[b-a0m8n0juhy]  .wf-field__label,
.user-role-filter[b-a0m8n0juhy]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.role-picker-help[b-a0m8n0juhy] {
    margin: -.2rem 0 .55rem;
    color: var(--wf-gray-500);
    font-size: .75rem;
}

.user-profile-picker[b-a0m8n0juhy] {
    max-height: 15rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    overflow-y: auto;
    padding: .15rem;
}

.user-profile-picker[b-a0m8n0juhy]  .user-profile-choice {
    min-width: 0;
    min-height: 2.9rem;
    padding: .45rem .55rem;
    border: 1px solid var(--wf-gray-200);
    border-radius: .68rem;
    background: var(--wf-white);
    color: var(--wf-gray-700);
}

.user-profile-picker[b-a0m8n0juhy]  .user-profile-choice:hover {
    border-color: var(--wf-gray-300);
    background: var(--wf-gray-25);
}

.user-profile-picker[b-a0m8n0juhy]  .user-profile-choice--selected {
    border-color: var(--wf-blue-300);
    background: var(--wf-blue-50);
}

.user-profile-picker[b-a0m8n0juhy]  .user-profile-choice .app-checkbox__label {
    color: var(--wf-gray-700);
    font-size: .78rem;
    font-weight: 650;
}

@media (max-width: 980px) {
    .card[b-a0m8n0juhy] {
        border: 0;
        box-shadow: none !important;
    }

    .card-header[b-a0m8n0juhy] {
        padding-inline: 0;
        background: transparent;
    }

    .user-role-filter[b-a0m8n0juhy] {
        width: 100%;
        max-width: none !important;
    }

    .user-role-filter[b-a0m8n0juhy]  select {
        min-height: 2.75rem;
        font-size: 1rem;
    }

    .table-responsive[b-a0m8n0juhy] {
        overflow: visible;
    }

    table[b-a0m8n0juhy],
    tbody[b-a0m8n0juhy] {
        display: block;
    }

    thead[b-a0m8n0juhy] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
    }

    tbody[b-a0m8n0juhy] {
        display: grid;
        gap: .7rem;
        padding: .15rem;
    }

    tbody tr[b-a0m8n0juhy] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .55rem .75rem;
        padding: .85rem;
        border: 1px solid var(--wf-gray-200);
        border-radius: .8rem;
        background: var(--wf-white);
        box-shadow: 0 1px 3px color-mix(in srgb, var(--wf-gray-900) 5%, transparent);
    }

    tbody td[b-a0m8n0juhy] {
        display: block;
        grid-column: 1 / -1;
        padding: 0 !important;
        border: 0;
        overflow-wrap: anywhere;
    }

    tbody td[b-a0m8n0juhy]::before {
        display: block;
        margin-bottom: .2rem;
        color: var(--wf-gray-500);
        content: attr(data-label);
        font-size: .65rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    tbody td[data-label="Status"][b-a0m8n0juhy] {
        grid-column: 1;
    }

    tbody td[data-label="Actions"][b-a0m8n0juhy] {
        grid-column: 2;
        align-self: end;
    }

    tbody td[data-label="Actions"][b-a0m8n0juhy]::before {
        display: none;
    }

    tbody td .btn[b-a0m8n0juhy],
    tbody td .btn-group .btn[b-a0m8n0juhy] {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .user-profile-picker[b-a0m8n0juhy] {
        grid-template-columns: 1fr;
        max-height: none;
    }
}
/* /Features/Admin/Pages/ApprovalOperations.razor.rz.scp.css */
.approval-ops[b-es3jcryh2n] {
    --ops-ink: var(--wf-gray-800);
    --ops-navy: var(--wf-gray-800);
    --ops-slate: var(--wf-gray-600);
    --ops-mist: var(--wf-gray-50);
    --ops-line: var(--wf-gray-200);
    --ops-teal: var(--wf-teal-700);
    --ops-amber: var(--wf-amber-700);
    --ops-red: var(--wf-red-700);
    color: var(--ops-ink);
    margin: 1.5rem auto 4rem;
    max-width: 1540px;
    padding: 0 1.25rem;
}

.ops-breadcrumb[b-es3jcryh2n] { margin-bottom: 1rem; }
.ops-command-bar[b-es3jcryh2n] { align-items: flex-end; background: var(--wf-white); border: 1px solid var(--ops-line); border-radius: 16px 16px 4px 4px; color: var(--ops-ink); display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: 1.65rem 1.75rem; position: relative; }
.ops-command-bar[b-es3jcryh2n]::after { background: var(--wf-amber-300); bottom: 0; content: ""; height: 4px; left: 0; position: absolute; right: 0; }
.ops-command-bar h1[b-es3jcryh2n] { font-size: clamp(1.8rem, 3vw, 2.75rem); font-weight: 720; letter-spacing: -.035em; margin: .15rem 0 .35rem; }
.ops-command-bar p[b-es3jcryh2n] { color: var(--ops-slate); margin: 0; max-width: 720px; }
.ops-eyebrow[b-es3jcryh2n], .ops-section-label[b-es3jcryh2n] { color: var(--wf-gray-500); font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.ops-command-bar .ops-eyebrow[b-es3jcryh2n] { color: var(--wf-gray-500); }
.ops-command-state[b-es3jcryh2n] { align-items: flex-end; display: flex; flex-direction: column; flex-shrink: 0; gap: .85rem; }
.ops-live-state[b-es3jcryh2n] { align-items: center; color: var(--ops-slate); display: flex; font-size: .82rem; gap: .5rem; }
.ops-live-dot[b-es3jcryh2n] { background: var(--wf-teal-300); border-radius: 50%; box-shadow: 0 0 0 5px color-mix(in srgb, var(--wf-teal-300) 13%, transparent); height: 8px; width: 8px; }
.ops-live-dot.is-running[b-es3jcryh2n] { animation: ops-pulse-b-es3jcryh2n 1.4s ease-in-out infinite; background: var(--wf-amber-300); }

.ops-status-board[b-es3jcryh2n] { background: var(--wf-white); border: 1px solid var(--ops-line); border-radius: 0 0 14px 14px; display: grid; grid-template-columns: repeat(6, 1fr); margin-bottom: 1.5rem; }
.ops-metric[b-es3jcryh2n] { display: grid; gap: .12rem; grid-template-columns: 24px 1fr; padding: 1.15rem 1.25rem; position: relative; }
.ops-metric:not(:last-child)[b-es3jcryh2n]::after { background: var(--ops-line); bottom: 1rem; content: ""; position: absolute; right: 0; top: 1rem; width: 1px; }
.ops-metric i[b-es3jcryh2n] { color: var(--ops-slate); grid-row: 1 / 3; padding-top: .3rem; }
.ops-metric strong[b-es3jcryh2n] { font-family: var(--wf-font-mono); font-size: 1.35rem; line-height: 1; }
.ops-metric span[b-es3jcryh2n] { color: var(--ops-slate); font-size: .75rem; }
.ops-metric.warning i[b-es3jcryh2n] { color: var(--ops-amber); }
.ops-metric.danger i[b-es3jcryh2n] { color: var(--ops-red); }
.ops-metric.success i[b-es3jcryh2n] { color: var(--ops-teal); }

.ops-advanced-label[b-es3jcryh2n] { align-items: baseline; display: flex; gap: .75rem; margin: 1.75rem 0 .35rem; }
.ops-advanced-label span[b-es3jcryh2n] { color: var(--ops-ink); font-size: .8rem; font-weight: 720; }
.ops-advanced-label p[b-es3jcryh2n] { color: var(--ops-slate); font-size: .75rem; margin: 0; }

.ops-grid[b-es3jcryh2n], .ops-simulator-grid[b-es3jcryh2n] { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); }
.ops-simulator-grid[b-es3jcryh2n] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ops-panel[b-es3jcryh2n] { background: var(--wf-white); border: 1px solid var(--ops-line); border-radius: 12px; box-shadow: 0 7px 24px color-mix(in srgb, var(--wf-gray-800) 4.5%, transparent); margin-bottom: 1.25rem; overflow: hidden; padding: 1.4rem; }
.ops-panel-header[b-es3jcryh2n] { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; }
.ops-panel-header h2[b-es3jcryh2n] { font-size: 1.15rem; font-weight: 720; letter-spacing: -.015em; margin: .15rem 0 0; }
.ops-panel-header p[b-es3jcryh2n] { color: var(--ops-slate); font-size: .84rem; margin: .3rem 0 0; }
.ops-state-chip[b-es3jcryh2n] { border-radius: 999px; font-size: .72rem; font-weight: 700; padding: .35rem .65rem; }
.ops-state-chip.healthy[b-es3jcryh2n] { background: var(--wf-teal-50); color: var(--wf-teal-800); }
.ops-state-chip.failed[b-es3jcryh2n] { background: var(--wf-red-100); color: var(--wf-red-800); }

.ops-runway[b-es3jcryh2n] { display: grid; grid-template-columns: repeat(3, 1fr); margin: 2.2rem 0 1.5rem; position: relative; text-align: center; }
.ops-runway-line[b-es3jcryh2n] { background: var(--ops-line); height: 2px; left: 16%; position: absolute; right: 16%; top: 7px; }
.ops-runway-stop[b-es3jcryh2n] { display: flex; flex-direction: column; gap: .2rem; position: relative; }
.ops-runway-stop > span[b-es3jcryh2n] { background: var(--wf-white); border: 2px solid var(--wf-gray-400); border-radius: 50%; height: 16px; margin: 0 auto .5rem; width: 16px; z-index: 1; }
.ops-runway-stop.current > span[b-es3jcryh2n] { background: var(--ops-teal); border-color: var(--ops-teal); box-shadow: 0 0 0 5px var(--wf-teal-50); }
.ops-runway-stop strong[b-es3jcryh2n] { font-size: .8rem; }
.ops-runway-stop small[b-es3jcryh2n] { color: var(--ops-slate); font-size: .7rem; }
.ops-run-result[b-es3jcryh2n] { background: var(--ops-mist); border-radius: 8px; display: grid; grid-template-columns: repeat(4, 1fr); }
.ops-run-result div[b-es3jcryh2n] { display: flex; flex-direction: column; padding: .9rem; }
.ops-run-result strong[b-es3jcryh2n] { font-family: var(--wf-font-mono); }
.ops-run-result span[b-es3jcryh2n] { color: var(--ops-slate); font-size: .68rem; }
.ops-inline-error[b-es3jcryh2n] { background: var(--wf-red-50); border-left: 3px solid var(--ops-red); color: var(--wf-red-900); font-size: .8rem; margin-top: 1rem; padding: .75rem; }

.ops-attention-list[b-es3jcryh2n]  .ops-attention-row { background: transparent; border: 0; border-top: 1px solid var(--ops-line); color: var(--ops-ink); padding: 1rem .25rem; text-align: left; }
.ops-attention-list[b-es3jcryh2n]  .ops-attention-row:hover { background: var(--ops-mist); }
.ops-attention-list[b-es3jcryh2n]  .ops-attention-row .app-btn__content { display: grid; grid-template-columns: 36px minmax(0, 1fr) 16px; gap: .85rem; text-align: left; }
.ops-attention-list[b-es3jcryh2n]  .ops-attention-row .app-btn__content > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.ops-attention-list[b-es3jcryh2n]  .ops-attention-row small { color: var(--ops-slate); }
.ops-attention-icon[b-es3jcryh2n] { align-items: center; background: var(--wf-gray-100); border-radius: 8px; display: flex; height: 36px; justify-content: center; }
.ops-attention-icon.warning[b-es3jcryh2n] { background: var(--wf-amber-50); color: var(--ops-amber); }
.ops-attention-icon.danger[b-es3jcryh2n] { background: var(--wf-red-100); color: var(--ops-red); }

.ops-filters[b-es3jcryh2n] { align-items: center; background: var(--ops-mist); border-radius: 8px; display: grid; gap: .65rem; grid-template-columns: minmax(240px, 2fr) minmax(150px, .8fr) minmax(150px, 1fr) auto auto auto auto; margin-bottom: 1rem; padding: .8rem; }
.ops-filter-control[b-es3jcryh2n]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.ops-filter-check[b-es3jcryh2n] { align-self: center; white-space: nowrap; }
.ops-table[b-es3jcryh2n] { font-size: .82rem; }
.ops-table thead th[b-es3jcryh2n] { border-bottom-width: 1px; color: var(--ops-slate); font-size: .68rem; letter-spacing: .08em; padding: .65rem .8rem; text-transform: uppercase; }
.ops-table tbody td[b-es3jcryh2n] { border-color: var(--wf-gray-100); padding: .85rem .8rem; }
.ops-table tbody tr.selected[b-es3jcryh2n] { background: var(--wf-teal-50); }
.ops-table td:first-child strong[b-es3jcryh2n], .ops-table td:first-child span[b-es3jcryh2n] { display: block; }
.ops-mono[b-es3jcryh2n], .ops-mono-input[b-es3jcryh2n], code[b-es3jcryh2n] { font-family: var(--wf-font-mono); }
.ops-mono[b-es3jcryh2n] { color: var(--ops-slate); font-size: .7rem; margin-top: .2rem; }
.ops-status[b-es3jcryh2n], .ops-flag[b-es3jcryh2n] { border-radius: 999px; display: inline-block; font-size: .68rem; font-weight: 700; line-height: 1; padding: .35rem .55rem; }
.ops-status.running[b-es3jcryh2n] { background: var(--wf-teal-50); color: var(--wf-teal-800); }
.ops-status.approved[b-es3jcryh2n] { background: var(--wf-blue-50); color: var(--wf-blue-900); }
.ops-status.rejected[b-es3jcryh2n] { background: var(--wf-red-100); color: var(--wf-red-800); }
.ops-status.neutral[b-es3jcryh2n] { background: var(--wf-gray-100); color: var(--wf-gray-600); }
.ops-flag[b-es3jcryh2n] { margin-left: .25rem; padding: .25rem .4rem; }
.ops-flag.warning[b-es3jcryh2n] { border: 1px solid var(--wf-amber-200); color: var(--wf-amber-800); }
.ops-flag.danger[b-es3jcryh2n] { border: 1px solid var(--wf-red-300); color: var(--wf-red-800); }
.ops-pagination[b-es3jcryh2n] { align-items: center; display: flex; font-size: .78rem; gap: 1rem; justify-content: flex-end; padding-top: 1rem; }

.ops-detail[b-es3jcryh2n] { border-top: 4px solid var(--ops-teal); }
.ops-detail-meta[b-es3jcryh2n] { display: grid; gap: 1rem; grid-template-columns: 1.2fr 1.2fr 1.2fr .4fr; }
.ops-detail-meta > div[b-es3jcryh2n] { display: flex; flex-direction: column; gap: .25rem; }
.ops-detail-meta span[b-es3jcryh2n], .ops-safe-keys > span[b-es3jcryh2n] { color: var(--ops-slate); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.ops-detail-meta code[b-es3jcryh2n] { background: var(--ops-mist); color: var(--ops-ink); font-size: .7rem; overflow: hidden; padding: .35rem; text-overflow: ellipsis; }
.ops-safe-keys[b-es3jcryh2n] { align-items: center; border-bottom: 1px solid var(--ops-line); display: flex; flex-wrap: wrap; gap: .4rem; padding: 1rem 0; }
.ops-safe-keys code[b-es3jcryh2n] { background: var(--wf-gray-100); color: var(--ops-slate); font-size: .68rem; padding: .25rem .4rem; }
.ops-safe-keys span:not(:first-child)[b-es3jcryh2n] { margin-left: .8rem; }
.ops-subheading[b-es3jcryh2n] { color: var(--ops-slate); font-size: .72rem; font-weight: 750; letter-spacing: .1em; margin: .5rem 0 1rem; text-transform: uppercase; }
.ops-work-item[b-es3jcryh2n] { display: grid; gap: .8rem; grid-template-columns: 12px 1fr; padding: 0 0 1.1rem; position: relative; }
.ops-work-item:not(:last-child)[b-es3jcryh2n]::before { background: var(--ops-line); bottom: 0; content: ""; left: 5px; position: absolute; top: 13px; width: 2px; }
.ops-node-mark[b-es3jcryh2n] { background: var(--wf-white); border: 3px solid var(--ops-teal); border-radius: 50%; height: 12px; margin-top: 5px; width: 12px; z-index: 1; }
.ops-work-item > div[b-es3jcryh2n] { display: flex; flex-direction: column; }
.ops-work-item small[b-es3jcryh2n], .ops-audit-entry small[b-es3jcryh2n] { color: var(--ops-slate); font-size: .7rem; margin-top: .25rem; }
.ops-audit-entry[b-es3jcryh2n] { display: grid; gap: .7rem; grid-template-columns: 8px 1fr; padding: 0 0 1rem; }
.ops-audit-entry > span[b-es3jcryh2n] { background: var(--wf-gray-400); border-radius: 50%; height: 7px; margin-top: 6px; width: 7px; }
.ops-audit-entry > div[b-es3jcryh2n] { display: flex; flex-direction: column; }
.ops-audit-entry p[b-es3jcryh2n] { background: var(--ops-mist); font-size: .75rem; margin: .4rem 0 0; padding: .5rem; }
.ops-error-cell[b-es3jcryh2n] { color: var(--wf-red-900); max-width: 420px; overflow-wrap: anywhere; }

.ops-empty[b-es3jcryh2n] { align-items: center; color: var(--ops-slate); display: flex; flex-direction: column; min-height: 220px; justify-content: center; padding: 2rem; text-align: center; }
.ops-empty i[b-es3jcryh2n] { color: var(--wf-gray-400); font-size: 2rem; margin-bottom: .7rem; }
.ops-empty strong[b-es3jcryh2n] { color: var(--ops-ink); }
.ops-empty span[b-es3jcryh2n] { font-size: .8rem; margin-top: .2rem; }
.ops-empty.success i[b-es3jcryh2n] { color: var(--ops-teal); }
.ops-form-grid[b-es3jcryh2n] { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.ops-form-grid .wide[b-es3jcryh2n] { grid-column: 1 / -1; }
.ops-form-grid label[b-es3jcryh2n] { color: var(--ops-slate); font-size: .75rem; font-weight: 650; }
.ops-form-grid label span[b-es3jcryh2n] { font-weight: 400; }
.ops-sim-outcome[b-es3jcryh2n] { align-items: flex-start; border-left: 3px solid; display: flex; gap: .7rem; padding: .8rem; }
.ops-sim-outcome.success[b-es3jcryh2n] { background: var(--wf-teal-50); border-color: var(--ops-teal); color: var(--wf-teal-800); }
.ops-sim-outcome.failed[b-es3jcryh2n] { background: var(--wf-red-50); border-color: var(--ops-red); color: var(--wf-red-800); }
.ops-sim-outcome > div[b-es3jcryh2n] { display: flex; flex-direction: column; }
.ops-sim-outcome span[b-es3jcryh2n] { font-size: .78rem; }
.ops-sim-definition[b-es3jcryh2n] { display: grid; font-size: .78rem; grid-template-columns: 90px 1fr; margin: 1.25rem 0; }
.ops-sim-definition dt[b-es3jcryh2n], .ops-sim-definition dd[b-es3jcryh2n] { border-bottom: 1px solid var(--ops-line); margin: 0; padding: .55rem 0; }
.ops-sim-definition dt[b-es3jcryh2n] { color: var(--ops-slate); }
.spin[b-es3jcryh2n] { animation: ops-spin-b-es3jcryh2n 1s linear infinite; }

button:focus-visible[b-es3jcryh2n], input:focus-visible[b-es3jcryh2n], select:focus-visible[b-es3jcryh2n] { outline: 3px solid color-mix(in srgb, var(--wf-teal-700) 25%, transparent); outline-offset: 2px; }
@keyframes ops-pulse-b-es3jcryh2n { 50% { box-shadow: 0 0 0 9px color-mix(in srgb, var(--wf-amber-300) 0%, transparent); } }
@keyframes ops-spin-b-es3jcryh2n { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
    .ops-status-board[b-es3jcryh2n] { grid-template-columns: repeat(3, 1fr); }
    .ops-metric:nth-child(3)[b-es3jcryh2n]::after { display: none; }
    .ops-grid[b-es3jcryh2n], .ops-simulator-grid[b-es3jcryh2n] { grid-template-columns: 1fr; }
    .ops-filters[b-es3jcryh2n] { grid-template-columns: repeat(2, 1fr); }
    .ops-filters[b-es3jcryh2n]  .ops-filter-control:first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .approval-ops[b-es3jcryh2n] { margin-top: 1rem; padding: 0 .75rem; }
    .ops-command-bar[b-es3jcryh2n] { align-items: stretch; flex-direction: column; padding: 1.5rem; }
    .ops-command-state[b-es3jcryh2n] { align-items: stretch; }
    .ops-status-board[b-es3jcryh2n] { grid-template-columns: repeat(2, 1fr); }
    .ops-metric:nth-child(3)[b-es3jcryh2n]::after { display: block; }
    .ops-metric:nth-child(even)[b-es3jcryh2n]::after { display: none; }
    .ops-run-result[b-es3jcryh2n], .ops-detail-meta[b-es3jcryh2n] { grid-template-columns: repeat(2, 1fr); }
    .ops-filters[b-es3jcryh2n], .ops-form-grid[b-es3jcryh2n] { grid-template-columns: 1fr; }
    .ops-form-grid[b-es3jcryh2n]  .wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .ops-live-dot.is-running[b-es3jcryh2n], .spin[b-es3jcryh2n] { animation: none; }
}
/* /Features/Admin/Pages/ComponentPlaygroundLayoutNavigationSection.razor.rz.scp.css */
.playground-gradient--primary[b-317k85pxvl] {
    background: var(--wf-gradient-primary);
}

.playground-gradient--header[b-317k85pxvl] {
    background: var(--wf-gradient-header);
}

.playground-gradient--accent[b-317k85pxvl] {
    background: var(--wf-gradient-accent);
}

.playground-gradient--purple[b-317k85pxvl] {
    background: var(--wf-gradient-purple);
}

.playground-gradient--success[b-317k85pxvl] {
    background: var(--wf-gradient-success);
}

.playground-gradient--warning[b-317k85pxvl] {
    background: var(--wf-gradient-warning);
}

.playground-gradient--danger[b-317k85pxvl] {
    background: var(--wf-gradient-danger);
}

.playground-gradient--dark[b-317k85pxvl] {
    background: var(--wf-gradient-dark);
}

.playground-swatch[b-317k85pxvl] {
    display: inline-flex;
    width: 3.5rem;
    min-height: 3.5rem;
    align-items: flex-end;
    padding: 0.25rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
}

.playground-swatch__label[b-317k85pxvl] {
    width: 100%;
    padding: 0.125rem 0.25rem;
    border-radius: var(--wf-radius-sm);
    background: var(--wf-surface);
    color: var(--wf-text);
    font-size: var(--wf-font-xs);
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.playground-swatch--blue-50[b-317k85pxvl] { background: var(--wf-blue-50); }
.playground-swatch--blue-100[b-317k85pxvl] { background: var(--wf-blue-100); }
.playground-swatch--blue-200[b-317k85pxvl] { background: var(--wf-blue-200); }
.playground-swatch--blue-300[b-317k85pxvl] { background: var(--wf-blue-300); }
.playground-swatch--blue-400[b-317k85pxvl] { background: var(--wf-blue-400); }
.playground-swatch--blue-500[b-317k85pxvl] { background: var(--wf-blue-500); }
.playground-swatch--blue-600[b-317k85pxvl] { background: var(--wf-blue-600); }
.playground-swatch--blue-700[b-317k85pxvl] { background: var(--wf-blue-700); }
.playground-swatch--blue-800[b-317k85pxvl] { background: var(--wf-blue-800); }
.playground-swatch--blue-900[b-317k85pxvl] { background: var(--wf-blue-900); }
.playground-swatch--green-50[b-317k85pxvl] { background: var(--wf-green-50); }
.playground-swatch--green-100[b-317k85pxvl] { background: var(--wf-green-100); }
.playground-swatch--green-200[b-317k85pxvl] { background: var(--wf-green-200); }
.playground-swatch--green-300[b-317k85pxvl] { background: var(--wf-green-300); }
.playground-swatch--green-500[b-317k85pxvl] { background: var(--wf-green-500); }
.playground-swatch--green-600[b-317k85pxvl] { background: var(--wf-green-600); }
.playground-swatch--green-700[b-317k85pxvl] { background: var(--wf-green-700); }
.playground-swatch--purple-50[b-317k85pxvl] { background: var(--wf-purple-50); }
.playground-swatch--purple-100[b-317k85pxvl] { background: var(--wf-purple-100); }
.playground-swatch--purple-500[b-317k85pxvl] { background: var(--wf-purple-500); }
.playground-swatch--purple-600[b-317k85pxvl] { background: var(--wf-purple-600); }
.playground-swatch--purple-700[b-317k85pxvl] { background: var(--wf-purple-700); }

.icon-card[b-317k85pxvl] {
    width: 100%;
    min-height: 100%;
    appearance: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    transition:
        background-color var(--wf-transition-fast),
        border-color var(--wf-transition-fast),
        box-shadow var(--wf-transition-fast);
}

.playground-icon-search[b-317k85pxvl] {
    width: min(100%, 15rem);
}

.playground-icon-search[b-317k85pxvl]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.icon-card:hover[b-317k85pxvl] {
    border-color: var(--wf-border-focus) !important;
    background: var(--wf-surface-accent) !important;
}

.icon-card:focus-visible[b-317k85pxvl] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .icon-card[b-317k85pxvl] {
        transition: none;
    }
}
/* /Features/Admin/Pages/Configuration/Permissions.razor.rz.scp.css */
.access-page[b-gb5lu2tsg0] {
    --access-ink: var(--wf-gray-800);
    --access-muted: var(--wf-gray-500);
    --access-line: var(--wf-gray-200);
    --access-soft: var(--wf-gray-25);
    --access-blue: var(--wf-blue-800);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 1.25rem 1.5rem 3rem;
    color: var(--access-ink);
}

.access-back[b-gb5lu2tsg0] {
    margin-bottom: 1rem;
}

.access-back a[b-gb5lu2tsg0] {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin-left: -.65rem;
    padding: 0 .65rem;
    border-radius: .65rem;
    color: var(--access-muted);
    font-size: .84rem;
    text-decoration: none;
}

.access-back a:hover[b-gb5lu2tsg0] {
    background: var(--wf-gray-50);
    color: var(--access-blue);
}

.access-header[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.35rem;
}

.access-eyebrow[b-gb5lu2tsg0] {
    display: block;
    margin-bottom: .35rem;
    color: var(--wf-gray-500);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.access-header h1[b-gb5lu2tsg0] {
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    font-weight: 720;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.access-header p[b-gb5lu2tsg0] {
    margin: .5rem 0 0;
    color: var(--access-muted);
    font-size: .92rem;
}

.access-primary[b-gb5lu2tsg0],
.role-edit[b-gb5lu2tsg0] {
    min-height: 2.75rem;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 0;
    border-radius: .72rem;
    background: var(--access-blue);
    color: var(--wf-white);
    font-size: .88rem;
    font-weight: 650;
    text-decoration: none;
}

.access-primary[b-gb5lu2tsg0] {
    padding: .65rem 1rem;
}

.role-edit[b-gb5lu2tsg0] {
    padding: .65rem .95rem;
}

.access-primary:hover[b-gb5lu2tsg0],
.role-edit:hover[b-gb5lu2tsg0] {
    background: var(--wf-blue-800);
    color: var(--wf-white);
}

.access-toast[b-gb5lu2tsg0] {
    min-height: 3.25rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: .65rem .75rem .65rem .9rem;
    border: 1px solid;
    border-radius: .8rem;
    font-size: .84rem;
}

.access-toast--success[b-gb5lu2tsg0] {
    border-color: var(--wf-green-200);
    background: var(--wf-green-50);
    color: var(--wf-green-800);
}

.access-toast--error[b-gb5lu2tsg0] {
    border-color: var(--wf-red-200);
    background: var(--wf-red-50);
    color: var(--wf-red-800);
}

.access-toast[b-gb5lu2tsg0]  button {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: .65rem;
    background: transparent;
    color: inherit;
}

.access-state[b-gb5lu2tsg0] {
    min-height: 6rem;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1.1rem;
    border: 1px solid var(--access-line);
    border-radius: .9rem;
    background: var(--wf-white);
}

.access-state div[b-gb5lu2tsg0] {
    flex: 1;
}

.access-state strong[b-gb5lu2tsg0],
.access-state p[b-gb5lu2tsg0] {
    display: block;
}

.access-state p[b-gb5lu2tsg0] {
    margin: .15rem 0 0;
    color: var(--access-muted);
    font-size: .82rem;
}

.access-state--error > i[b-gb5lu2tsg0] {
    color: var(--wf-red-700);
}

.access-state[b-gb5lu2tsg0]  button {
    min-height: 2.75rem;
    padding: .55rem .8rem;
    border: 1px solid var(--wf-gray-300);
    border-radius: .65rem;
    background: var(--wf-white);
    font-weight: 650;
}

.role-mobile-picker[b-gb5lu2tsg0] {
    display: none;
}

.role-workspace[b-gb5lu2tsg0] {
    min-height: 35rem;
    display: grid;
    grid-template-columns: 15.5rem minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--access-line);
    border-radius: 1rem;
    background: var(--wf-white);
    box-shadow: 0 2px 12px color-mix(in srgb, var(--wf-gray-800) 5%, transparent);
}

.role-picker[b-gb5lu2tsg0] {
    border-right: 1px solid var(--access-line);
    background: var(--wf-gray-25);
}

.role-picker__heading[b-gb5lu2tsg0] {
    min-height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    border-bottom: 1px solid var(--access-line);
    color: var(--wf-gray-600);
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.role-picker__heading[b-gb5lu2tsg0]  button {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: .6rem;
    background: var(--wf-gray-100);
    color: var(--wf-blue-800);
}

.role-picker__heading[b-gb5lu2tsg0]  button:hover {
    background: var(--wf-blue-100);
}

.role-picker__list[b-gb5lu2tsg0] {
    padding: .55rem;
}

.role-picker__list[b-gb5lu2tsg0]  .role-option {
    width: 100%;
    min-height: 3.7rem;
    padding: .5rem .55rem;
    border: 1px solid transparent;
    border-radius: .72rem;
    background: transparent;
    color: var(--access-ink);
    text-align: left;
}

.role-picker__list[b-gb5lu2tsg0]  .role-option .app-btn__content {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .65rem;
    text-align: left;
}

.role-picker__list[b-gb5lu2tsg0]  .role-option:hover {
    background: var(--wf-gray-50);
}

.role-picker__list[b-gb5lu2tsg0]  .role-option--selected {
    border-color: var(--wf-blue-200);
    background: var(--wf-blue-50);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--wf-blue-800) 6%, transparent);
}

.role-picker__list[b-gb5lu2tsg0]  .role-option--selected:hover {
    background: var(--wf-blue-100);
}

.role-option__avatar[b-gb5lu2tsg0],
.role-avatar[b-gb5lu2tsg0] {
    display: grid;
    place-items: center;
    border-radius: .65rem;
    background: var(--wf-gray-100);
    color: var(--wf-blue-800);
    font-weight: 750;
}

.role-option__avatar[b-gb5lu2tsg0] {
    width: 2.25rem;
    height: 2.25rem;
    font-size: .76rem;
}

.role-picker__list[b-gb5lu2tsg0]  .role-option--selected .role-option__avatar {
    background: var(--wf-white);
}

.role-option__copy[b-gb5lu2tsg0] {
    min-width: 0;
}

.role-option__copy strong[b-gb5lu2tsg0],
.role-option__copy small[b-gb5lu2tsg0] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.role-option__copy strong[b-gb5lu2tsg0] {
    font-size: .82rem;
}

.role-option__copy small[b-gb5lu2tsg0] {
    margin-top: .08rem;
    color: var(--wf-gray-500);
    font-size: .67rem;
}

.role-option__dot[b-gb5lu2tsg0] {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--wf-amber-500);
}

.role-option__dot--custom[b-gb5lu2tsg0] {
    background: var(--wf-blue-600);
}

.role-picker__list[b-gb5lu2tsg0]  .role-option > .app-btn__frame > .app-btn__content > i {
    color: var(--wf-gray-400);
    font-size: .75rem;
}

.role-overview[b-gb5lu2tsg0] {
    min-width: 0;
    background: var(--wf-white);
}

.role-overview__header[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.35rem 1.5rem 1.1rem;
}

.role-overview__identity[b-gb5lu2tsg0] {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: .9rem;
}

.role-avatar[b-gb5lu2tsg0] {
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    border-radius: .85rem;
    font-size: 1rem;
}

.role-title-line[b-gb5lu2tsg0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.role-title-line h2[b-gb5lu2tsg0] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 720;
    letter-spacing: -.025em;
}

.role-overview__identity p[b-gb5lu2tsg0] {
    max-width: 38rem;
    margin: .35rem 0 0;
    color: var(--access-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.role-overview__stats[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 1.5rem;
    overflow: hidden;
    border: 1px solid var(--access-line);
    border-radius: .8rem;
    background: var(--wf-gray-25);
}

.role-overview__stats > div[b-gb5lu2tsg0] {
    min-height: 4.25rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem 1rem;
}

.role-overview__stats > div + div[b-gb5lu2tsg0] {
    border-left: 1px solid var(--access-line);
}

.role-stat-icon[b-gb5lu2tsg0] {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: .65rem;
    background: var(--wf-blue-50);
    color: var(--wf-blue-800);
}

.role-overview__stats strong[b-gb5lu2tsg0],
.role-overview__stats small[b-gb5lu2tsg0] {
    display: block;
}

.role-overview__stats strong[b-gb5lu2tsg0] {
    font-size: 1rem;
}

.role-overview__stats small[b-gb5lu2tsg0] {
    color: var(--access-muted);
    font-size: .69rem;
}

.role-protection-note[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: .9rem 1.5rem 0;
    padding: .75rem .85rem;
    border-radius: .75rem;
    background: var(--wf-green-50);
    color: var(--wf-green-800);
}

.role-protection-note > i[b-gb5lu2tsg0] {
    margin-top: .08rem;
}

.role-protection-note strong[b-gb5lu2tsg0],
.role-protection-note p[b-gb5lu2tsg0] {
    display: block;
}

.role-protection-note strong[b-gb5lu2tsg0] {
    font-size: .78rem;
}

.role-protection-note p[b-gb5lu2tsg0] {
    margin: .15rem 0 0;
    font-size: .72rem;
    line-height: 1.4;
}

.inheritance-map[b-gb5lu2tsg0] {
    margin: .9rem 1.5rem 0;
    padding: .85rem;
    border: 1px solid var(--wf-gray-200);
    border-radius: .8rem;
    background: var(--wf-blue-50);
}

.inheritance-map__heading[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
}

.inheritance-map__icon[b-gb5lu2tsg0] {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    flex: 0 0 2.25rem;
    place-items: center;
    border-radius: .65rem;
    background: var(--wf-white);
    color: var(--wf-blue-800);
}

.inheritance-map__heading h3[b-gb5lu2tsg0] {
    margin: .05rem 0 0;
    font-size: .8rem;
}

.inheritance-map__heading p[b-gb5lu2tsg0] {
    margin: .12rem 0 0;
    color: var(--wf-gray-500);
    font-size: .68rem;
}

.inheritance-flow[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(10rem, .7fr);
    align-items: center;
    gap: .65rem;
    margin-top: .75rem;
    padding-left: 2.9rem;
}

.inheritance-flow__parents[b-gb5lu2tsg0] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.inheritance-flow__parents > span[b-gb5lu2tsg0] {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .55rem;
    border: 1px solid var(--wf-gray-200);
    border-radius: .6rem;
    background: var(--wf-white);
    color: var(--wf-green-700);
    font-size: .7rem;
    font-weight: 650;
}

.inheritance-flow__arrow[b-gb5lu2tsg0] {
    color: var(--wf-gray-400);
}

.inheritance-flow__current[b-gb5lu2tsg0] {
    min-height: 3rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .4rem .55rem;
    border: 1px solid var(--wf-blue-200);
    border-radius: .68rem;
    background: var(--wf-blue-50);
}

.inheritance-flow__current strong[b-gb5lu2tsg0],
.inheritance-flow__current small[b-gb5lu2tsg0] {
    display: block;
}

.inheritance-flow__current strong[b-gb5lu2tsg0] {
    font-size: .72rem;
}

.inheritance-flow__current small[b-gb5lu2tsg0] {
    color: var(--wf-gray-500);
    font-size: .61rem;
}

.role-areas-section[b-gb5lu2tsg0] {
    padding: 1.25rem 1.5rem 1.5rem;
}

.role-section-heading[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .7rem;
}

.role-section-heading h3[b-gb5lu2tsg0] {
    margin: 0;
    font-size: .93rem;
    font-weight: 700;
}

.role-section-heading p[b-gb5lu2tsg0] {
    margin: .2rem 0 0;
    color: var(--access-muted);
    font-size: .74rem;
}

.role-area-list[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.role-area[b-gb5lu2tsg0] {
    overflow: hidden;
    border: 1px solid var(--access-line);
    border-radius: .75rem;
    background: var(--wf-white);
}

.role-area summary[b-gb5lu2tsg0] {
    min-height: 3.65rem;
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .55rem .7rem;
    cursor: pointer;
    list-style: none;
}

.role-area summary[b-gb5lu2tsg0]::-webkit-details-marker {
    display: none;
}

.role-area summary:hover[b-gb5lu2tsg0] {
    background: var(--wf-gray-25);
}

.role-area__icon[b-gb5lu2tsg0] {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: .62rem;
    background: var(--wf-gray-50);
    color: var(--wf-gray-600);
}

.role-area__copy[b-gb5lu2tsg0] {
    min-width: 0;
}

.role-area__copy strong[b-gb5lu2tsg0],
.role-area__copy small[b-gb5lu2tsg0] {
    display: block;
}

.role-area__copy strong[b-gb5lu2tsg0] {
    overflow: hidden;
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.role-area__copy small[b-gb5lu2tsg0] {
    margin-top: .08rem;
    color: var(--access-muted);
    font-size: .66rem;
}

.role-area__chevron[b-gb5lu2tsg0] {
    color: var(--wf-gray-400);
    font-size: .72rem;
    transition: transform 150ms ease;
}

.role-area[open] .role-area__chevron[b-gb5lu2tsg0] {
    transform: rotate(180deg);
}

.role-area ul[b-gb5lu2tsg0] {
    margin: 0;
    padding: .25rem .75rem .6rem;
    border-top: 1px solid var(--wf-gray-100);
    background: var(--wf-gray-25);
    list-style: none;
}

.role-area li[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    padding: .38rem 0;
    color: var(--wf-gray-600);
    font-size: .7rem;
}

.role-area li i[b-gb5lu2tsg0] {
    color: var(--wf-green-700);
}

.role-empty[b-gb5lu2tsg0] {
    padding: 2rem;
    border: 1px dashed var(--wf-gray-300);
    border-radius: .8rem;
    color: var(--access-muted);
    text-align: center;
}

.role-empty i[b-gb5lu2tsg0],
.role-empty strong[b-gb5lu2tsg0] {
    display: block;
}

.role-empty strong[b-gb5lu2tsg0] {
    margin-top: .45rem;
    color: var(--access-ink);
    font-size: .84rem;
}

.role-empty p[b-gb5lu2tsg0] {
    margin: .2rem 0 0;
    font-size: .75rem;
}

.role-overview__footer[b-gb5lu2tsg0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 1.5rem 1.5rem;
    padding: .8rem .9rem;
    border: 1px solid var(--wf-amber-100);
    border-radius: .75rem;
    background: var(--wf-amber-50);
}

.role-overview__footer strong[b-gb5lu2tsg0],
.role-overview__footer span[b-gb5lu2tsg0] {
    display: block;
}

.role-overview__footer strong[b-gb5lu2tsg0] {
    font-size: .76rem;
}

.role-overview__footer span[b-gb5lu2tsg0] {
    margin-top: .1rem;
    color: var(--wf-gray-500);
    font-size: .68rem;
}

.role-restore[b-gb5lu2tsg0] {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .8rem;
    border: 1px solid var(--wf-amber-200);
    border-radius: .65rem;
    background: var(--wf-white);
    color: var(--wf-amber-900);
    font-size: .75rem;
    font-weight: 650;
    white-space: nowrap;
}

.permission-sheet-backdrop[b-gb5lu2tsg0] {
    position: fixed;
    inset: 0;
    z-index: 1065;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: color-mix(in srgb, var(--wf-gray-900) 55%, transparent);
    backdrop-filter: blur(4px);
}

.permission-sheet[b-gb5lu2tsg0] {
    width: min(66rem, 100%);
    max-height: calc(100dvh - 2rem);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid var(--wf-gray-200);
    border-radius: 1.1rem;
    background: var(--wf-gray-25);
    box-shadow: 0 28px 80px color-mix(in srgb, var(--wf-gray-900) 28%, transparent);
}

.permission-sheet__header[b-gb5lu2tsg0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem 1.35rem .9rem;
    border-bottom: 1px solid var(--access-line);
    background: var(--wf-white);
}

.permission-sheet__header h2[b-gb5lu2tsg0] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 720;
    letter-spacing: -.025em;
}

.permission-sheet__header p[b-gb5lu2tsg0] {
    margin: .25rem 0 0;
    color: var(--access-muted);
    font-size: .8rem;
}

.permission-sheet__close[b-gb5lu2tsg0] {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    flex: 0 0 2.75rem;
    place-items: center;
    border: 0;
    border-radius: .7rem;
    background: transparent;
    color: var(--wf-gray-600);
}

.permission-sheet__close:hover[b-gb5lu2tsg0] {
    background: var(--wf-gray-50);
}

.permission-sheet__body[b-gb5lu2tsg0] {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1rem 1.35rem 1.35rem;
}

.editor-error[b-gb5lu2tsg0] {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .85rem;
    padding: .65rem .75rem;
    border: 1px solid var(--wf-red-200);
    border-radius: .7rem;
    background: var(--wf-red-50);
    color: var(--wf-red-800);
    font-size: .78rem;
}

.role-basics[b-gb5lu2tsg0],
.inheritance-editor[b-gb5lu2tsg0],
.permission-editor[b-gb5lu2tsg0] {
    border: 1px solid var(--access-line);
    border-radius: .85rem;
    background: var(--wf-white);
}

.role-basics[b-gb5lu2tsg0] {
    padding: .9rem 1rem 1rem;
}

.inheritance-editor[b-gb5lu2tsg0] {
    margin-top: .75rem;
    padding: .9rem 1rem 1rem;
}

.editor-section-heading[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
}

.editor-section-heading > span[b-gb5lu2tsg0] {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: .55rem;
    background: var(--wf-blue-50);
    color: var(--wf-blue-800);
    font-size: .7rem;
    font-weight: 750;
}

.editor-section-heading h3[b-gb5lu2tsg0] {
    margin: 0;
    font-size: .86rem;
    font-weight: 700;
}

.editor-section-heading p[b-gb5lu2tsg0] {
    margin: .1rem 0 0;
    color: var(--access-muted);
    font-size: .68rem;
}

.role-basics__fields[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: minmax(12rem, .7fr) minmax(16rem, 1.3fr);
    gap: .75rem;
    margin-top: .75rem;
    padding-left: 2.4rem;
}

.role-basics__fields label > span[b-gb5lu2tsg0] {
    display: block;
    margin-bottom: .3rem;
    color: var(--wf-gray-600);
    font-size: .7rem;
    font-weight: 700;
}

.role-basics__fields label small[b-gb5lu2tsg0] {
    color: var(--wf-gray-400);
    font-weight: 500;
}

.role-basics__fields[b-gb5lu2tsg0]  .wf-input {
    min-height: 2.65rem;
    border-color: var(--wf-gray-300);
    border-radius: .65rem;
    font-size: .86rem;
}

.parent-profile-grid[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .75rem;
    padding-left: 2.4rem;
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile {
    min-width: 0;
    min-height: 3.6rem;
    padding: .5rem;
    border: 1px solid var(--wf-gray-200);
    border-radius: .7rem;
    background: var(--wf-white);
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile:hover {
    border-color: var(--wf-gray-300);
    background: var(--wf-gray-25);
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile--selected {
    border-color: var(--wf-blue-300);
    background: var(--wf-blue-50);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--wf-blue-800) 7%, transparent);
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile .app-checkbox__row {
    min-height: 2.5rem;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: .65rem;
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile .app-checkbox__copy {
    overflow: hidden;
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile .app-checkbox__label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .72rem;
}

.parent-profile-grid[b-gb5lu2tsg0]  .parent-profile .app-checkbox__help {
    margin-top: .08rem;
    color: var(--access-muted);
    font-size: .61rem;
    line-height: 1.25;
}

.inheritance-editor__hint[b-gb5lu2tsg0] {
    margin: .6rem 0 0 2.4rem;
    color: var(--access-muted);
    font-size: .66rem;
}

.inheritance-editor__summary[b-gb5lu2tsg0],
.inheritance-editor__restricted[b-gb5lu2tsg0] {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: .65rem 0 0 2.4rem;
    padding: .55rem .65rem;
    border-radius: .6rem;
    background: var(--wf-blue-50);
    color: var(--wf-gray-600);
}

.inheritance-editor__summary strong[b-gb5lu2tsg0],
.inheritance-editor__summary small[b-gb5lu2tsg0] {
    display: block;
}

.inheritance-editor__summary strong[b-gb5lu2tsg0] {
    font-size: .68rem;
}

.inheritance-editor__summary small[b-gb5lu2tsg0] {
    margin-top: .05rem;
    color: var(--wf-gray-500);
    font-size: .61rem;
}

.inheritance-editor__restricted[b-gb5lu2tsg0] {
    margin-top: .7rem;
    font-size: .7rem;
}

.permission-editor[b-gb5lu2tsg0] {
    margin-top: .75rem;
    overflow: hidden;
}

.editor-section-heading--permissions[b-gb5lu2tsg0] {
    grid-template-columns: 1.75rem minmax(0, 1fr) minmax(11rem, .45fr);
    padding: .9rem 1rem .75rem;
    border-bottom: 1px solid var(--access-line);
}

.permission-search[b-gb5lu2tsg0] {
    position: relative;
}

.permission-search[b-gb5lu2tsg0]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.permission-search[b-gb5lu2tsg0]  input {
    width: 100%;
    min-height: 2.4rem;
    padding: .45rem .7rem;
    border: 1px solid var(--wf-gray-300);
    border-radius: .65rem;
    color: var(--access-ink);
    font-size: .8rem;
}

.permission-groups[b-gb5lu2tsg0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    padding: .75rem;
    background: var(--wf-gray-25);
}

.permission-group[b-gb5lu2tsg0] {
    overflow: hidden;
    border: 1px solid var(--access-line);
    border-radius: .75rem;
    background: var(--wf-white);
}

.permission-group header[b-gb5lu2tsg0] {
    min-height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .5rem .65rem;
    border-bottom: 1px solid var(--access-line);
    background: var(--wf-gray-25);
}

.permission-group header > div[b-gb5lu2tsg0] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .55rem;
}

.permission-group__icon[b-gb5lu2tsg0] {
    width: 2rem;
    height: 2rem;
    display: grid;
    flex: 0 0 2rem;
    place-items: center;
    border-radius: .55rem;
    background: var(--wf-gray-50);
    color: var(--wf-gray-500);
    font-size: .8rem;
}

.permission-group header strong[b-gb5lu2tsg0],
.permission-group header small[b-gb5lu2tsg0] {
    display: block;
}

.permission-group header strong[b-gb5lu2tsg0] {
    overflow: hidden;
    font-size: .75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.permission-group header small[b-gb5lu2tsg0] {
    margin-top: .06rem;
    color: var(--access-muted);
    font-size: .61rem;
}

.permission-group header[b-gb5lu2tsg0]  button {
    min-height: 2.25rem;
    padding: .35rem .45rem;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--wf-blue-800);
    font-size: .65rem;
    font-weight: 650;
    white-space: nowrap;
}

.permission-group header[b-gb5lu2tsg0]  button:hover {
    background: var(--wf-blue-50);
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle {
    min-height: 3.35rem;
    padding: .5rem .65rem;
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle + .permission-toggle {
    border-top: 1px solid var(--wf-gray-100);
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle:hover {
    background: var(--wf-gray-25);
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle--inherited {
    background: var(--wf-gray-25);
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle--inherited:hover {
    background: var(--wf-gray-25);
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__input {
    grid-column: 2;
    grid-row: 1;
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__copy {
    grid-column: 1;
    grid-row: 1;
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__label {
    color: var(--wf-gray-700);
    font-size: .72rem;
    line-height: 1.35;
}

.permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__help {
    margin-top: .1rem;
    color: var(--wf-gray-500);
    font-size: .62rem;
    line-height: 1.3;
}

.permission-empty[b-gb5lu2tsg0] {
    padding: 2.5rem 1rem;
    color: var(--access-muted);
    text-align: center;
    font-size: .8rem;
}

.permission-sheet__footer[b-gb5lu2tsg0] {
    min-height: 4.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 1.35rem calc(.7rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--access-line);
    background: var(--wf-white);
}

.permission-sheet__footer p[b-gb5lu2tsg0] {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    color: var(--access-muted);
    font-size: .68rem;
}

.permission-sheet__footer > div[b-gb5lu2tsg0] {
    display: flex;
    gap: .55rem;
}

.permission-sheet__footer .btn[b-gb5lu2tsg0] {
    min-width: 7rem;
    min-height: 2.75rem;
    border-radius: .68rem;
    font-size: .82rem;
    font-weight: 650;
}

.access-back a:focus-visible[b-gb5lu2tsg0],
.access-primary:focus-visible[b-gb5lu2tsg0],
.role-picker__list[b-gb5lu2tsg0]  .role-option:focus-visible,
.role-edit:focus-visible[b-gb5lu2tsg0],
.role-area summary:focus-visible[b-gb5lu2tsg0],
.role-restore:focus-visible[b-gb5lu2tsg0],
.permission-sheet button:focus-visible[b-gb5lu2tsg0],
.permission-search[b-gb5lu2tsg0]  input:focus-visible,
.role-basics[b-gb5lu2tsg0]  input:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--wf-blue-800) 22%, transparent);
    outline-offset: 2px;
}

@media (max-width: 820px) {
    .role-workspace[b-gb5lu2tsg0] {
        grid-template-columns: 13rem minmax(0, 1fr);
    }

    .role-overview__header[b-gb5lu2tsg0] {
        align-items: stretch;
        flex-direction: column;
    }

    .role-edit[b-gb5lu2tsg0] {
        align-self: flex-start;
    }

    .role-area-list[b-gb5lu2tsg0],
    .permission-groups[b-gb5lu2tsg0] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .access-page[b-gb5lu2tsg0] {
        padding: .8rem .85rem 2rem;
    }

    .access-back[b-gb5lu2tsg0] {
        margin-bottom: .65rem;
    }

    .access-header[b-gb5lu2tsg0] {
        align-items: stretch;
        flex-direction: column;
        gap: .85rem;
        margin-bottom: 1rem;
    }

    .access-header p[b-gb5lu2tsg0] {
        font-size: .84rem;
    }

    .access-primary[b-gb5lu2tsg0] {
        width: 100%;
    }

    .role-mobile-picker[b-gb5lu2tsg0] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: .45rem;
        margin-bottom: .65rem;
    }

    .role-mobile-picker[b-gb5lu2tsg0]  .role-mobile-select {
        min-width: 0;
    }

    .role-mobile-picker[b-gb5lu2tsg0]  label {
        display: block;
        grid-column: 1 / -1;
        margin-bottom: .3rem;
        color: var(--wf-gray-600);
        font-size: .72rem;
        font-weight: 700;
    }

    .role-mobile-picker[b-gb5lu2tsg0]  select {
        min-height: 2.75rem;
        border-color: var(--wf-gray-300);
        border-radius: .7rem;
        background-color: var(--wf-white);
        font-size: 1rem;
        font-weight: 650;
    }

    .role-mobile-create[b-gb5lu2tsg0] {
        min-height: 2.75rem;
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: .55rem .7rem;
        border: 1px solid var(--wf-gray-300);
        border-radius: .7rem;
        background: var(--wf-blue-50);
        color: var(--wf-blue-800);
        font-size: .75rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .role-workspace[b-gb5lu2tsg0] {
        min-height: 0;
        display: block;
        border-radius: .85rem;
    }

    .role-picker[b-gb5lu2tsg0] {
        display: none;
    }

    .role-overview__header[b-gb5lu2tsg0] {
        padding: 1rem;
    }

    .role-overview__identity[b-gb5lu2tsg0] {
        gap: .7rem;
    }

    .role-avatar[b-gb5lu2tsg0] {
        width: 2.65rem;
        height: 2.65rem;
        flex-basis: 2.65rem;
    }

    .role-edit[b-gb5lu2tsg0] {
        width: 100%;
    }

    .role-overview__stats[b-gb5lu2tsg0] {
        margin: 0 1rem;
    }

    .role-overview__stats > div[b-gb5lu2tsg0] {
        justify-content: center;
        padding: .65rem .35rem;
        text-align: center;
    }

    .role-overview__stats .role-stat-icon[b-gb5lu2tsg0] {
        display: none;
    }

    .inheritance-map[b-gb5lu2tsg0] {
        margin: .75rem 1rem 0;
    }

    .inheritance-flow[b-gb5lu2tsg0] {
        grid-template-columns: 1fr;
        gap: .45rem;
        padding-left: 0;
    }

    .inheritance-flow__arrow[b-gb5lu2tsg0] {
        justify-self: center;
        transform: rotate(90deg);
    }

    .inheritance-flow__current[b-gb5lu2tsg0] {
        justify-self: stretch;
    }

    .role-protection-note[b-gb5lu2tsg0] {
        margin: .75rem 1rem 0;
    }

    .role-areas-section[b-gb5lu2tsg0] {
        padding: 1rem;
    }

    .role-section-heading p[b-gb5lu2tsg0] {
        display: none;
    }

    .role-overview__footer[b-gb5lu2tsg0] {
        align-items: stretch;
        flex-direction: column;
        margin: 0 1rem 1rem;
    }

    .role-restore[b-gb5lu2tsg0] {
        justify-content: center;
        width: 100%;
    }

    .permission-sheet-backdrop[b-gb5lu2tsg0] {
        display: block;
        padding: 0;
        background: var(--wf-white);
        backdrop-filter: none;
    }

    .permission-sheet[b-gb5lu2tsg0] {
        width: 100%;
        height: 100dvh;
        max-height: none;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .permission-sheet__header[b-gb5lu2tsg0] {
        padding: .75rem 1rem .7rem;
    }

    .permission-sheet__header p[b-gb5lu2tsg0] {
        display: none;
    }

    .permission-sheet__body[b-gb5lu2tsg0] {
        padding: .8rem 1rem 1rem;
    }

    .role-basics[b-gb5lu2tsg0],
    .inheritance-editor[b-gb5lu2tsg0] {
        padding: .8rem;
    }

    .role-basics__fields[b-gb5lu2tsg0] {
        grid-template-columns: 1fr;
        gap: .65rem;
        padding-left: 0;
    }

    .role-basics__fields[b-gb5lu2tsg0]  .wf-input {
        font-size: 1rem;
    }

    .parent-profile-grid[b-gb5lu2tsg0] {
        grid-template-columns: 1fr;
        padding-left: 0;
    }

    .inheritance-editor__hint[b-gb5lu2tsg0],
    .inheritance-editor__summary[b-gb5lu2tsg0],
    .inheritance-editor__restricted[b-gb5lu2tsg0] {
        margin-left: 0;
    }

    .editor-section-heading--permissions[b-gb5lu2tsg0] {
        grid-template-columns: 1.75rem minmax(0, 1fr);
        padding: .8rem;
    }

    .permission-search[b-gb5lu2tsg0] {
        grid-column: 1 / -1;
        margin-top: .2rem;
    }

    .permission-search[b-gb5lu2tsg0]  input {
        min-height: 2.75rem;
        font-size: 1rem;
    }

    .permission-groups[b-gb5lu2tsg0] {
        padding: .6rem;
    }

    .permission-group__items[b-gb5lu2tsg0]  .permission-toggle {
        min-height: 3.7rem;
    }

    .permission-group__items[b-gb5lu2tsg0]  .permission-toggle .app-switch__label {
        font-size: .76rem;
    }

    .permission-sheet__footer[b-gb5lu2tsg0] {
        min-height: auto;
        display: block;
        padding: .65rem 1rem calc(.65rem + env(safe-area-inset-bottom));
    }

    .permission-sheet__footer p[b-gb5lu2tsg0] {
        display: none;
    }

    .permission-sheet__footer > div[b-gb5lu2tsg0] {
        width: 100%;
    }

    .permission-sheet__footer[b-gb5lu2tsg0]  .app-btn {
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (max-width: 360px) {
    .role-mobile-create[b-gb5lu2tsg0] {
        width: 2.75rem;
        justify-content: center;
        padding: 0;
        font-size: 0;
    }

    .role-mobile-picker[b-gb5lu2tsg0]  .role-mobile-create i {
        font-size: .9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .role-area__chevron[b-gb5lu2tsg0] {
        transition: none;
    }
}
/* /Features/Admin/Pages/Index.razor.rz.scp.css */
/* Settings landing page.
   Typography, spacing, and controls come from the shared tokens so this page
   reads like every other screen instead of inventing its own type scale. */

.settings-search[b-hc8bbzcagu] {
    position: relative;
    width: min(22rem, 100%);
}

.settings-search__icon[b-hc8bbzcagu] {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0.9rem;
    color: var(--wf-text-muted);
    pointer-events: none;
    transform: translateY(-50%);
}

.settings-search[b-hc8bbzcagu]  .wf-input {
    padding-inline: 2.75rem;
}

.settings-search[b-hc8bbzcagu]  .settings-search__clear {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    color: var(--wf-text-muted);
    transform: translateY(-50%);
}

.settings-loading[b-hc8bbzcagu] {
    display: flex;
    align-items: center;
    margin: 0 0 1.5rem;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    gap: 0.5rem;
}

/* ── Setup status ───────────────────────────────────────────────
   Complete setup collapses to a single calm line; only unfinished
   setup is worth a checklist. */

.setup[b-hc8bbzcagu] {
    display: grid;
    margin-bottom: 2rem;
    padding: 1.25rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    gap: 1rem;
}

.setup--ready[b-hc8bbzcagu] {
    border-color: var(--wf-green-200);
    background: var(--wf-green-50);
}

.setup--pending[b-hc8bbzcagu] {
    border-color: var(--wf-amber-200);
    background: var(--wf-amber-50);
}

.setup__row[b-hc8bbzcagu] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.setup__icon[b-hc8bbzcagu] {
    display: inline-flex;
    flex: 0 0 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.setup--ready .setup__icon[b-hc8bbzcagu] {
    background: var(--wf-green-100);
    color: var(--wf-green-800);
}

.setup--pending .setup__icon[b-hc8bbzcagu] {
    background: var(--wf-amber-100);
    color: var(--wf-amber-800);
}

.setup__copy[b-hc8bbzcagu] {
    min-width: 0;
    flex: 1 1 0;
}

.setup__title[b-hc8bbzcagu] {
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-lg);
    font-weight: 600;
    line-height: 1.3;
}

.setup__note[b-hc8bbzcagu] {
    margin: 0.15rem 0 0;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    line-height: 1.5;
}

.setup__row[b-hc8bbzcagu]  .setup__action {
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.setup__steps[b-hc8bbzcagu] {
    display: grid;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
    list-style: none;
}

.setup-step[b-hc8bbzcagu] {
    display: grid;
    min-height: 4rem;
    align-items: center;
    padding: 0.875rem 1rem;
    border: 1px solid var(--wf-amber-200);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface);
    color: var(--wf-text);
    gap: 0.875rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    text-decoration: none;
    transition: border-color var(--wf-transition-fast);
}

.setup-step:hover[b-hc8bbzcagu] {
    border-color: var(--wf-amber-400);
    color: var(--wf-text);
    text-decoration: none;
}

.setup-step__mark[b-hc8bbzcagu] {
    display: inline-flex;
    color: var(--wf-amber-600);
}

.setup-step__copy[b-hc8bbzcagu] {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.setup-step__title[b-hc8bbzcagu] {
    font-size: var(--wf-font-md);
    font-weight: 600;
    line-height: 1.35;
}

.setup-step__note[b-hc8bbzcagu] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    line-height: 1.45;
}

.setup-step__status[b-hc8bbzcagu] {
    color: var(--wf-amber-800);
    font-size: var(--wf-font-base);
    font-weight: 600;
    white-space: nowrap;
}

.setup-step.is-done .setup-step__mark[b-hc8bbzcagu],
.setup-step.is-done .setup-step__status[b-hc8bbzcagu] {
    color: var(--wf-green-700);
}

.setup-step.is-done .setup-step__title[b-hc8bbzcagu] {
    color: var(--wf-text-secondary);
}

/* ── Groups ─────────────────────────────────────────────────── */

.settings-sections[b-hc8bbzcagu] {
    display: grid;
    gap: 2rem;
}

/* ── Advanced ───────────────────────────────────────────────────
   Collapsed by default: these tools exist for administrators, and
   hiding them keeps the everyday page short. */

.settings-advanced[b-hc8bbzcagu] {
    margin-top: 2rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
}

.settings-advanced__summary[b-hc8bbzcagu] {
    display: grid;
    align-items: center;
    padding: 1rem 1.25rem;
    border-radius: var(--wf-radius-xl);
    cursor: pointer;
    gap: 0.875rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    list-style: none;
}

.settings-advanced__summary[b-hc8bbzcagu]::-webkit-details-marker {
    display: none;
}

.settings-advanced__summary[b-hc8bbzcagu]::marker {
    content: "";
}

.settings-advanced__summary:hover[b-hc8bbzcagu] {
    background: var(--wf-surface-hover);
}

.settings-advanced__summary:focus-visible[b-hc8bbzcagu] {
    outline: 3px solid var(--wf-border-focus);
    outline-offset: -3px;
}

.settings-advanced__icon[b-hc8bbzcagu] {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface-subtle);
    color: var(--wf-text-secondary);
}

.settings-advanced__copy[b-hc8bbzcagu] {
    min-width: 0;
}

.settings-advanced__title[b-hc8bbzcagu] {
    display: block;
    color: var(--wf-text);
    font-size: var(--wf-font-lg);
    font-weight: 600;
    line-height: 1.3;
}

.settings-advanced__note[b-hc8bbzcagu] {
    display: block;
    margin-top: 0.15rem;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    line-height: 1.5;
}

.settings-advanced__chevron[b-hc8bbzcagu] {
    display: inline-flex;
    color: var(--wf-text-muted);
    transition: transform var(--wf-transition-fast);
}

.settings-advanced[open] .settings-advanced__summary[b-hc8bbzcagu] {
    border-bottom: 1px solid var(--wf-border-subtle);
    border-end-end-radius: 0;
    border-end-start-radius: 0;
}

.settings-advanced[open] .settings-advanced__chevron[b-hc8bbzcagu] {
    transform: rotate(180deg);
}

.settings-advanced__body[b-hc8bbzcagu] {
    padding: 1.25rem;
}

/* ── Empty search ───────────────────────────────────────────── */

.settings-empty[b-hc8bbzcagu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3.5rem 1.25rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    text-align: center;
}

.settings-empty h2[b-hc8bbzcagu] {
    margin: 0.75rem 0 0.25rem;
    color: var(--wf-text);
    font-size: var(--wf-font-lg);
    font-weight: 600;
}

.settings-empty p[b-hc8bbzcagu] {
    margin: 0 0 1rem;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
}

@media (max-width: 767.98px) {
    .settings-search[b-hc8bbzcagu] {
        width: 100%;
    }

    .setup__row[b-hc8bbzcagu] {
        flex-wrap: wrap;
    }

    .setup__row[b-hc8bbzcagu]  .setup__action {
        width: 100%;
        margin-inline-start: 0;
    }

    .setup-step[b-hc8bbzcagu] {
        align-items: start;
        grid-template-areas:
            "mark copy"
            "mark status";
        grid-template-columns: auto minmax(0, 1fr);
        row-gap: 0.35rem;
    }

    .setup-step__mark[b-hc8bbzcagu] {
        grid-area: mark;
    }

    .setup-step__copy[b-hc8bbzcagu] {
        grid-area: copy;
    }

    .setup-step__status[b-hc8bbzcagu] {
        grid-area: status;
    }
}

@media (prefers-reduced-motion: reduce) {
    .setup-step[b-hc8bbzcagu],
    .settings-advanced__chevron[b-hc8bbzcagu] {
        transition: none;
    }
}
/* /Features/Admin/Pages/ProjectTypes.razor.rz.scp.css */
.project-field-control[b-kynzl2ob5o]  .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.fields-toolbar[b-kynzl2ob5o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.fields-toolbar strong[b-kynzl2ob5o],
.fields-toolbar span[b-kynzl2ob5o] {
    display: block;
}

.fields-toolbar strong[b-kynzl2ob5o] {
    color: var(--wf-gray-700);
    font-size: .93rem;
}

.fields-toolbar span[b-kynzl2ob5o] {
    margin-top: .1rem;
    color: var(--wf-gray-500);
    font-size: .8rem;
}

.fields-add-button[b-kynzl2ob5o],
.fields-icon-button[b-kynzl2ob5o] {
    min-width: 2.75rem;
    min-height: 2.75rem;
    border-radius: .72rem;
}

.fields-add-button[b-kynzl2ob5o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 650;
    white-space: nowrap;
}

.fields-table-wrap[b-kynzl2ob5o] {
    overflow: visible;
}

.fields-table-wrap[b-kynzl2ob5o]  .wf-table {
    margin: 0;
    border: 1px solid var(--wf-gray-200);
    border-radius: .85rem;
    background: var(--wf-white);
    overflow: hidden;
}

.fields-table-wrap[b-kynzl2ob5o]  thead th {
    padding: .65rem .85rem;
    border-bottom: 1px solid var(--wf-gray-300);
    background: var(--wf-gray-50);
    color: var(--wf-gray-600);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.fields-table-wrap[b-kynzl2ob5o]  tbody td {
    padding: .8rem;
    border-color: var(--wf-gray-100);
}

.fields-table-wrap[b-kynzl2ob5o]  tbody tr:last-child td {
    border-bottom: 0;
}

.fields-table-wrap[b-kynzl2ob5o]  .wf-input {
    min-height: 2.75rem;
    border-color: var(--wf-gray-300);
    border-radius: .68rem;
}

.fields-table-wrap[b-kynzl2ob5o]  select.wf-input {
    min-width: 10rem;
}

.fields-table-wrap[b-kynzl2ob5o]  .fields-switch {
    display: inline-block;
}

.fields-table-wrap[b-kynzl2ob5o]  .fields-actions {
    width: 7rem;
    white-space: nowrap;
}

.fields-table-wrap[b-kynzl2ob5o]  .fields-actions .fields-icon-button + .fields-icon-button {
    margin-left: .35rem;
}

@media (max-width: 820px) {
    .fields-toolbar[b-kynzl2ob5o] {
        align-items: flex-end;
    }

    .fields-toolbar span[b-kynzl2ob5o] {
        display: none;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .wf-table {
        border: 0;
        border-radius: 0;
        background: transparent;
        overflow: visible;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .wf-table__scroll {
        overflow: visible;
    }

    .fields-table-wrap[b-kynzl2ob5o]  thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
    }

    .fields-table-wrap[b-kynzl2ob5o]  tbody {
        display: grid;
        gap: .75rem;
    }

    .fields-table-wrap[b-kynzl2ob5o]  tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 5.85rem;
        gap: .65rem;
        padding: .85rem;
        border: 1px solid var(--wf-gray-200);
        border-radius: .85rem;
        background: var(--wf-white);
        box-shadow: 0 1px 2px color-mix(in srgb, var(--wf-gray-900) 4%, transparent);
    }

    .fields-table-wrap[b-kynzl2ob5o]  tbody td {
        display: block;
        grid-column: 1 / -1;
        padding: 0;
        border: 0;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .project-field-control .wf-field__label {
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        margin-bottom: .35rem;
        overflow: visible;
        clip: auto;
        white-space: normal;
        border: 0;
        color: var(--wf-gray-600);
        font-size: .76rem;
        font-weight: 700;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .wf-input {
        width: 100%;
        min-width: 0;
        font-size: 1rem;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .fields-required-cell {
        grid-column: 1;
        align-self: center;
        text-align: left !important;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .fields-switch {
        min-height: 2.75rem;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .fields-actions {
        width: auto;
        display: grid;
        grid-column: 2;
        grid-row: 3;
        grid-template-columns: repeat(2, 2.75rem);
        justify-content: end;
        gap: .35rem;
    }

    .fields-table-wrap[b-kynzl2ob5o]  .fields-actions .fields-icon-button + .fields-icon-button {
        margin-left: 0;
    }

}

@media (max-width: 370px) {
    .fields-toolbar[b-kynzl2ob5o]  .fields-add-button {
        width: 2.75rem;
        padding: 0;
        font-size: 0;
    }

    .fields-toolbar[b-kynzl2ob5o]  .fields-add-button i {
        margin: 0 !important;
        font-size: 1rem;
    }
}
/* /Features/Agreements/Components/NdaAgreementForm.razor.rz.scp.css */
.nda-form[b-icayc6f1yq] {
    display: grid;
    gap: 0.875rem;
    max-width: 1440px;
    margin: 0 auto;
}

.nda-form__terms[b-icayc6f1yq],
.nda-form__party[b-icayc6f1yq],
.nda-form__footer[b-icayc6f1yq] {
    border: 1px solid var(--wf-border);
    border-radius: 0.875rem;
    background: var(--wf-surface);
}

.nda-form__terms[b-icayc6f1yq] {
    display: grid;
    grid-template-columns: auto minmax(10rem, 1fr) minmax(7rem, 0.65fr) minmax(9rem, 0.75fr) minmax(12rem, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
}

.nda-form__parties[b-icayc6f1yq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem;
}

.nda-form__party[b-icayc6f1yq] {
    min-width: 0;
    padding: 0.875rem;
}

.nda-form__section-heading[b-icayc6f1yq] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    margin-bottom: 0.75rem;
}

.nda-form__section-heading--inline[b-icayc6f1yq] {
    align-items: center;
    align-self: start;
    margin: 0 0.25rem 0 0;
    white-space: nowrap;
}

.nda-form__section-heading i[b-icayc6f1yq],
.nda-form__file-label i[b-icayc6f1yq] {
    color: var(--wf-color-primary);
}

.nda-form__section-heading h2[b-icayc6f1yq] {
    margin: 0;
    color: var(--wf-text-primary);
    font-size: 0.925rem;
    font-weight: 700;
}

.nda-form__section-heading p[b-icayc6f1yq] {
    margin: 0.125rem 0 0;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-xs);
}

.nda-form__party-grid[b-icayc6f1yq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem 0.75rem;
}

.nda-form__vendor-select[b-icayc6f1yq] {
    grid-column: 1 / -1;
}

.nda-form__footer[b-icayc6f1yq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    padding: 0.75rem 0.875rem;
}

.nda-form__file-label[b-icayc6f1yq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
}

.nda-form__file-label .wf-field__label[b-icayc6f1yq] {
    margin: 0;
}

.nda-form__actions[b-icayc6f1yq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-icayc6f1yq] .nda-form .wf-field {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .nda-form__terms[b-icayc6f1yq] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nda-form__section-heading--inline[b-icayc6f1yq] {
        grid-column: 1 / -1;
    }

    .nda-form__parties[b-icayc6f1yq] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .nda-form__terms[b-icayc6f1yq],
    .nda-form__party-grid[b-icayc6f1yq],
    .nda-form__footer[b-icayc6f1yq] {
        grid-template-columns: 1fr;
    }

    .nda-form__vendor-select[b-icayc6f1yq] {
        grid-column: auto;
    }

    .nda-form__actions[b-icayc6f1yq] {
        justify-content: flex-end;
    }
}
/* /Features/Auth/Pages/AccountActivation.razor.rz.scp.css */
.activation-page[b-80tc1vn55x] {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(1.25rem, 4vw, 3rem) 1rem 2rem;
    background: var(--wf-gray-50);
    color: var(--wf-text);
}

.activation-brand[b-80tc1vn55x] {
    display: flex;
    width: min(100%, 38rem);
    align-items: center;
    gap: 0.65rem;
    margin-bottom: clamp(1.25rem, 4vh, 2rem);
}

.activation-brand__mark[b-80tc1vn55x] {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: var(--wf-radius);
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
    font-size: 1rem;
}

.activation-brand__name[b-80tc1vn55x] {
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 750;
    letter-spacing: -0.015em;
}

.activation-brand__context[b-80tc1vn55x] {
    margin-left: auto;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    font-weight: 550;
}

.activation-card[b-80tc1vn55x] {
    position: relative;
    width: min(100%, 38rem);
    overflow: hidden;
    padding: clamp(1.5rem, 5vw, 2.5rem);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    box-shadow: var(--wf-shadow-sm);
}

.activation-card__rail[b-80tc1vn55x] {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--wf-color-primary);
}

.activation-card__rail[b-80tc1vn55x]::before {
    content: "";
    display: block;
    width: 4.5rem;
    height: 100%;
    background: var(--wf-amber-500);
}

.activation-heading[b-80tc1vn55x] { margin-bottom: 1.5rem; }

.activation-heading__context[b-80tc1vn55x] {
    margin: 0 0 0.45rem;
    color: var(--wf-color-primary);
    font-size: var(--wf-font-xs);
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.activation-heading h1[b-80tc1vn55x],
.activation-state h1[b-80tc1vn55x] {
    margin: 0;
    color: var(--wf-text);
    font-family: inherit;
    font-size: clamp(1.75rem, 5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.035em;
}

.activation-heading > p:last-child[b-80tc1vn55x],
.activation-state > p[b-80tc1vn55x] {
    margin: 0.65rem 0 0;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-base);
    line-height: 1.6;
}

.activation-identity[b-80tc1vn55x] {
    display: flex;
    gap: 0.9rem;
    margin-bottom: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--wf-blue-100);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-blue-50);
}

.activation-identity__avatar[b-80tc1vn55x] {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    place-items: center;
    border-radius: 50%;
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
    font-size: var(--wf-font-sm);
    font-weight: 750;
    letter-spacing: 0.03em;
}

.activation-identity__content[b-80tc1vn55x] {
    min-width: 0;
    flex: 1;
}

.activation-identity h2[b-80tc1vn55x] {
    margin: 0 0 0.7rem;
    color: var(--wf-text);
    font-size: var(--wf-font-base);
    font-weight: 700;
    line-height: 1.3;
}

.activation-identity__details[b-80tc1vn55x] {
    display: grid;
    gap: 0.6rem;
    margin: 0;
}

.activation-identity__details div[b-80tc1vn55x] {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.75rem;
}

.activation-identity__details dt[b-80tc1vn55x] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    font-weight: 600;
}

.activation-identity__details dd[b-80tc1vn55x] {
    min-width: 0;
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
    font-weight: 600;
    line-height: 1.4;
}

.activation-identity__email[b-80tc1vn55x] { overflow-wrap: anywhere; }

.activation-expiry[b-80tc1vn55x] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-bottom: 1.5rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    line-height: 1.5;
}

.activation-expiry i[b-80tc1vn55x] { margin-top: 0.08rem; }
.activation-expiry time[b-80tc1vn55x] { color: var(--wf-text-secondary); font-weight: 600; }

.activation-message[b-80tc1vn55x] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid;
    border-radius: var(--wf-radius);
    font-size: var(--wf-font-sm);
    line-height: 1.45;
}

.activation-message--error[b-80tc1vn55x] {
    border-color: var(--wf-red-200);
    background: var(--wf-red-50);
    color: var(--wf-red-800);
}

.activation-loading[b-80tc1vn55x] {
    display: flex;
    min-height: 16rem;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
}

.activation-loading__spinner[b-80tc1vn55x] {
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid var(--wf-gray-300);
    border-top-color: var(--wf-color-primary);
    border-radius: 50%;
    animation: activation-spin-b-80tc1vn55x 700ms linear infinite;
}

.activation-state[b-80tc1vn55x] {
    padding-block: 0.5rem;
    text-align: left;
}

.activation-state__icon[b-80tc1vn55x] {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    margin-bottom: 1.25rem;
    border: 1px solid;
    border-radius: 50%;
    font-size: 1.2rem;
}

.activation-state--success .activation-state__icon[b-80tc1vn55x] {
    border-color: var(--wf-green-200);
    background: var(--wf-green-50);
    color: var(--wf-green-700);
}

.activation-state--error .activation-state__icon[b-80tc1vn55x] {
    border-color: var(--wf-red-200);
    background: var(--wf-red-50);
    color: var(--wf-red-700);
}

.activation-state > p[b-80tc1vn55x] { margin-bottom: 1.5rem; }
.activation-state strong[b-80tc1vn55x] { overflow-wrap: anywhere; }

.activation-support[b-80tc1vn55x] {
    width: min(100%, 38rem);
    margin: 1rem 0 0;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    line-height: 1.5;
    text-align: center;
}

@keyframes activation-spin-b-80tc1vn55x { to { transform: rotate(360deg); } }

@media (max-width: 520px) {
    .activation-page[b-80tc1vn55x] { padding-inline: 0.75rem; }
    .activation-card[b-80tc1vn55x] { padding: 1.5rem 1.1rem; }
    .activation-brand[b-80tc1vn55x] { padding-inline: 0.35rem; }
    .activation-brand__context[b-80tc1vn55x] { font-size: var(--wf-font-xs-plus); }

    .activation-identity[b-80tc1vn55x] { padding: 0.85rem; }
    .activation-identity__details div[b-80tc1vn55x] {
        grid-template-columns: 1fr;
        gap: 0.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .activation-loading__spinner[b-80tc1vn55x] { animation: none; }
}

.activation-message--success[b-80tc1vn55x] {
    border-color: var(--wf-green-200);
    background: var(--wf-green-50);
    color: var(--wf-green-800);
}

.activation-resend[b-80tc1vn55x] {
    display: grid;
    gap: .85rem;
    margin: 1.25rem 0 1rem;
}

.activation-state--error > .activation-message--success[b-80tc1vn55x] {
    margin: 1.25rem 0 1rem;
}
/* /Features/Communication/Components/CommunicationTimeline.razor.rz.scp.css */
.timeline[b-7o9yjp3qrd] {
    position: relative;
    padding-left: 20px;
    border-left: 2px solid var(--wf-border-hover);
}

.timeline-item[b-7o9yjp3qrd] {
    position: relative;
    margin-bottom: 20px;
}

.timeline-marker[b-7o9yjp3qrd] {
    position: absolute;
    top: 15px;
    left: -26px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--wf-surface);
    border-radius: 50%;
    background-color: var(--wf-color-primary-light);
}

.status-failed .timeline-marker[b-7o9yjp3qrd] {
    background-color: var(--wf-color-danger);
}
/* /Features/Company/Components/MembersSection.razor.rz.scp.css */
.member-actions[b-w2st8wv7o8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}
/* /Features/LegalDocuments/Components/DocumentContextBadges.razor.rz.scp.css */
.context-badges[b-nxtz3ynpu5] {
    min-height: 1.5rem;
}

.context-badges[b-nxtz3ynpu5]  .context-badge {
    max-width: 12.5rem;
    padding: 0.25rem 0.5rem;
    overflow: hidden;
    border-radius: var(--wf-radius);
    font-size: var(--wf-font-xs-plus);
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: transform var(--wf-transition-fast), opacity var(--wf-transition-fast);
}

.context-badges[b-nxtz3ynpu5]  .context-badge:hover {
    transform: scale(1.05);
    opacity: 0.9;
}

.context-badges[b-nxtz3ynpu5]  .context-badge i {
    font-size: var(--wf-font-xs-plus);
}

.context-badges[b-nxtz3ynpu5]  .context-badge--project {
    border-color: var(--wf-blue-200);
    background: var(--wf-blue-50);
    color: var(--wf-blue-700);
}

.context-badges[b-nxtz3ynpu5]  .context-badge--vendor {
    border-color: var(--wf-green-200);
    background: var(--wf-green-50);
    color: var(--wf-green-700);
}

.context-badges[b-nxtz3ynpu5]  .document-type-badge {
    border: 1px solid var(--wf-text-muted);
    background-color: transparent !important;
    color: var(--wf-text-muted) !important;
}

.context-badges[b-nxtz3ynpu5]  .document-type-badge:hover {
    background-color: var(--wf-text-muted) !important;
    color: var(--wf-text-on-accent) !important;
}

@media (prefers-reduced-motion: reduce) {
    .context-badges[b-nxtz3ynpu5]  .context-badge {
        transition: none;
    }
}
/* /Features/LegalDocuments/Components/DocumentCreationDialog.razor.rz.scp.css */
.document-creation-dialog__context[b-2pswexezyd] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--wf-border);
    border-radius: 0.625rem;
    background: var(--wf-gray-25);
}

.document-creation-dialog__context span[b-2pswexezyd] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
}

.document-creation-dialog__context strong[b-2pswexezyd] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/LegalDocuments/Components/DocumentDriveBrowser.razor.rz.scp.css */
.drive-browser[b-3luzvyxv03] {
    --drive-border: color-mix(in srgb, var(--wf-gray-900) 10%, transparent);
    --drive-surface: var(--wf-gray-25);
    --drive-hover: var(--wf-blue-50);
    --drive-focus: var(--wf-blue-100);
}

.drive-breadcrumbs[b-3luzvyxv03] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.drive-crumb[b-3luzvyxv03] {
    color: var(--wf-text-secondary);
    font-size: 0.9rem;
}

.drive-crumb.active[b-3luzvyxv03] {
    color: var(--wf-text);
    font-weight: 600;
}

.drive-crumb-separator[b-3luzvyxv03] {
    color: var(--wf-border);
    font-size: 0.8rem;
}

.drive-main-panel[b-3luzvyxv03] {
    border: 1px solid var(--drive-border);
    border-radius: 0.75rem;
    padding: 0.75rem;
    background: var(--wf-surface);
}

.drive-table thead th[b-3luzvyxv03] {
    border-bottom-width: 1px;
    color: var(--wf-text-secondary);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.drive-col-action-prefix[b-3luzvyxv03] {
    width: 40px;
    text-align: center;
}

.drive-row[b-3luzvyxv03] {
    transition: background-color 0.16s ease-in-out;
}

.drive-row:hover[b-3luzvyxv03] {
    background: var(--drive-hover);
}

.drive-folder-link[b-3luzvyxv03],
.drive-file-name[b-3luzvyxv03] {
    color: var(--wf-text);
    font-weight: 500;
}

.drive-folder-link:hover[b-3luzvyxv03],
.drive-file-name:hover[b-3luzvyxv03] {
    color: var(--wf-color-primary);
}

.drive-empty-state[b-3luzvyxv03] {
    border: 1px dashed var(--wf-border);
    border-radius: 0.65rem;
}

@media (max-width: 767.98px) {
    .drive-toolbar[b-3luzvyxv03] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Features/LegalDocuments/Components/DocumentPdfViewer.razor.rz.scp.css */
.wf-pdf-viewer-root[b-gow1w4rhoj] {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    background: transparent;
    overflow: hidden;
}

.wf-pdf-viewer-viewport[b-gow1w4rhoj] {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    overflow: auto;
    padding: 18px 18px 92px;
    background:
        radial-gradient(circle at top, color-mix(in srgb, var(--wf-white) 5%, transparent), transparent 30%),
        color-mix(in srgb, var(--wf-gray-900) 34%, transparent);
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
}

.wf-pdf-viewer-toolbar[b-gow1w4rhoj] {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.625rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wf-gray-900) 58%, transparent);
    border: 1px solid color-mix(in srgb, var(--wf-white) 8%, transparent);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--wf-gray-900) 28%, transparent);
    backdrop-filter: blur(14px);
    z-index: 2;
}

.wf-pdf-viewer-toolbar-group[b-gow1w4rhoj] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.wf-pdf-viewer-page-picker[b-gow1w4rhoj] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    height: 32px;
    padding: 0 0.75rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wf-white) 8%, transparent);
    color: var(--wf-gray-200);
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

.wf-pdf-viewer-page-label[b-gow1w4rhoj],
.wf-pdf-viewer-page-total[b-gow1w4rhoj] {
    color: var(--wf-gray-200);
}

[b-gow1w4rhoj] .wf-pdf-viewer-page-field {
    display: inline-flex;
    min-width: 0;
    gap: 0;
}

[b-gow1w4rhoj] .wf-pdf-viewer-page-field .app-number-field__frame {
    min-height: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

[b-gow1w4rhoj] .wf-pdf-viewer-page-input {
    width: 3.25rem;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--wf-white);
    font: inherit;
    text-align: center;
    outline: none;
    -moz-appearance: textfield;
}

[b-gow1w4rhoj] .wf-pdf-viewer-page-input::-webkit-outer-spin-button,
[b-gow1w4rhoj] .wf-pdf-viewer-page-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.wf-pdf-viewer-chip[b-gow1w4rhoj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    height: 32px;
    padding: 0 0.875rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wf-white) 8%, transparent);
    color: var(--wf-gray-200);
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

.wf-pdf-viewer-btn[b-gow1w4rhoj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 32px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--wf-gray-200);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.wf-pdf-viewer-btn:hover:not(:disabled)[b-gow1w4rhoj] {
    background: color-mix(in srgb, var(--wf-white) 8%, transparent);
}

.wf-pdf-viewer-btn:disabled[b-gow1w4rhoj] {
    opacity: 0.4;
    cursor: default;
}

.wf-pdf-viewer-btn-icon[b-gow1w4rhoj] {
    padding: 0;
    width: 32px;
}

.wf-pdf-viewer-overlay[b-gow1w4rhoj] {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    text-align: center;
    color: var(--wf-gray-200);
    background: color-mix(in srgb, var(--wf-gray-900) 56%, transparent);
}

.wf-pdf-viewer-overlay-error[b-gow1w4rhoj] {
    padding: 2rem;
}

.wf-pdf-viewer-overlay-error > i[b-gow1w4rhoj] {
    font-size: 2.5rem;
    color: var(--wf-gray-400);
}

.wf-pdf-viewer-overlay-title[b-gow1w4rhoj] {
    font-size: 0.95rem;
    font-weight: 700;
}

.wf-pdf-viewer-overlay-text[b-gow1w4rhoj] {
    color: color-mix(in srgb, var(--wf-gray-200) 80%, transparent);
    font-size: 0.875rem;
}

@media (max-width: 768px) {
    .wf-pdf-viewer-viewport[b-gow1w4rhoj] {
        padding: 12px 10px 96px;
    }

    .wf-pdf-viewer-toolbar[b-gow1w4rhoj] {
        gap: 0.375rem;
        padding: 0.375rem 0.5rem;
        max-width: calc(100% - 24px);
        overflow-x: auto;
    }

    .wf-pdf-viewer-chip[b-gow1w4rhoj] {
        min-width: 58px;
        padding: 0 0.625rem;
    }

    .wf-pdf-viewer-page-picker[b-gow1w4rhoj] {
        padding: 0 0.625rem;
    }

    .wf-pdf-viewer-btn[b-gow1w4rhoj] {
        padding: 0 0.625rem;
    }
}
/* /Features/LegalDocuments/Components/DocumentPreviewFrame.razor.rz.scp.css */
.wf-doc-preview-backdrop[b-ej8bv44e6z] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: color-mix(in srgb, var(--wf-gray-900) 46%, transparent);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    overflow: hidden;
    overscroll-behavior: contain;
}

.wf-doc-preview-dialog[b-ej8bv44e6z] {
    position: relative;
    z-index: 1051;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wf-doc-preview-header[b-ej8bv44e6z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    height: 52px;
    padding: 0 0.875rem;
    background: color-mix(in srgb, var(--wf-gray-900) 62%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--wf-white) 6%, transparent);
    flex-shrink: 0;
}

.wf-doc-preview-title[b-ej8bv44e6z] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
    color: var(--wf-gray-200);
    font-size: 0.95rem;
    font-weight: 600;
}

.wf-doc-preview-title > i[b-ej8bv44e6z] {
    color: var(--wf-gray-400);
    flex-shrink: 0;
}

.wf-doc-preview-title > span[b-ej8bv44e6z] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wf-doc-preview-actions[b-ej8bv44e6z] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.wf-doc-preview-btn[b-ej8bv44e6z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--wf-gray-200);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.16s ease;
}

.wf-doc-preview-btn:hover[b-ej8bv44e6z] {
    background: color-mix(in srgb, var(--wf-white) 12%, transparent);
}

.wf-doc-preview-btn:active[b-ej8bv44e6z] {
    background: color-mix(in srgb, var(--wf-white) 18%, transparent);
}

.wf-doc-preview-body[b-ej8bv44e6z] {
    position: relative;
    flex: 1;
    min-height: 0;
    background: transparent;
    overflow: hidden;
    overscroll-behavior: contain;
}

@media (max-width: 768px) {
    .wf-doc-preview-header[b-ej8bv44e6z] {
        padding: 0 0.5rem;
    }

    .wf-doc-preview-title[b-ej8bv44e6z] {
        font-size: 0.875rem;
    }
}
/* /Features/LegalDocuments/Components/DocumentPreviewModal.razor.rz.scp.css */
.wf-doc-preview-img-wrap[b-x5kvu8dkzw] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: auto;
    background: var(--wf-gray-900);
}

.wf-doc-preview-img[b-x5kvu8dkzw] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 2px;
    box-shadow: 0 2px 12px color-mix(in srgb, var(--wf-gray-900) 40%, transparent);
}

.wf-doc-preview-text-wrap[b-x5kvu8dkzw] {
    width: 100%;
    height: 100%;
    overflow: auto;
    display: flex;
    justify-content: center;
    padding: 24px;
    background: var(--wf-gray-900);
}

.wf-doc-preview-text[b-x5kvu8dkzw] {
    margin: 0;
    width: min(100%, 800px);
    background: var(--wf-surface);
    padding: 40px 48px;
    font-size: 0.875rem;
    line-height: 1.65;
    white-space: pre-wrap;
    word-wrap: break-word;
    color: var(--wf-text);
    border-radius: 2px;
    box-shadow: 0 1px 4px color-mix(in srgb, var(--wf-gray-900) 30%, transparent);
}

.wf-doc-preview-center[b-x5kvu8dkzw] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}

.wf-doc-preview-error-icon[b-x5kvu8dkzw] {
    font-size: 2.5rem;
    color: var(--wf-gray-400);
    margin-bottom: 1rem;
}

.wf-doc-preview-title-copy[b-x5kvu8dkzw] {
    margin: 0;
    color: var(--wf-gray-50);
    font-size: 0.95rem;
    font-weight: 700;
}

.wf-doc-preview-copy[b-x5kvu8dkzw] {
    margin: 0;
    color: color-mix(in srgb, var(--wf-gray-200) 80%, transparent);
    font-size: 0.875rem;
}
/* /Features/LegalDocuments/Components/DocumentUpload.razor.rz.scp.css */
.upload-zone[b-ev4enocw97] {
    border: 2px dashed var(--wf-border-hover);
    border-radius: var(--wf-radius-lg);
    background-color: var(--wf-surface-subtle);
    cursor: pointer;
    transition: border-color var(--wf-transition-fast), background-color var(--wf-transition-fast), transform var(--wf-transition-fast);
}

.upload-zone.compact[b-ev4enocw97] {
    border-width: 1px;
    border-style: solid;
    border-radius: var(--wf-radius);
    background-color: var(--wf-surface-subtle);
}

.upload-zone:hover[b-ev4enocw97],
.upload-zone.drag-over[b-ev4enocw97] {
    border-color: var(--wf-border-focus);
    background-color: var(--wf-surface-accent);
}

.upload-zone.drag-over[b-ev4enocw97] {
    transform: scale(1.02);
}

.document-upload__icon--compact[b-ev4enocw97] {
    font-size: 1.5rem;
}

.document-upload__icon--large[b-ev4enocw97] {
    font-size: 3rem;
}

.document-upload__progress[b-ev4enocw97] {
    display: block;
    width: 100%;
    height: 0.35rem;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: var(--wf-gray-200);
    accent-color: var(--wf-color-primary);
}

.document-upload__progress[b-ev4enocw97]::-webkit-progress-bar {
    background: var(--wf-gray-200);
}

.document-upload__progress[b-ev4enocw97]::-webkit-progress-value {
    background: var(--wf-color-primary);
}

.document-upload__progress[b-ev4enocw97]::-moz-progress-bar {
    background: var(--wf-color-primary);
}

@media (prefers-reduced-motion: reduce) {
    .upload-zone[b-ev4enocw97] {
        transition: none;
    }
}
/* /Features/LegalDocuments/Components/DocumentViewer.razor.rz.scp.css */
.document-viewer__image[b-vsrbgqazs9] {
    max-height: 37.5rem;
}

.document-viewer__text[b-vsrbgqazs9] {
    height: 37.5rem;
    overflow-y: auto;
}

.document-viewer__empty-icon[b-vsrbgqazs9] {
    font-size: 3rem;
}
/* /Features/LegalDocuments/Components/FileManager.razor.rz.scp.css */
/* ─────────────────────────────────────────────
   FileManager — Google Drive–inspired theme
   ───────────────────────────────────────────── */

.wf-fm[b-a7hzwtvk0w] {
    --fm-surface: var(--wf-surface);
    --fm-surface-hover: var(--wf-blue-50);
    --fm-surface-selected: var(--wf-blue-100);
    --fm-surface-selected-hover: var(--wf-blue-200);
    --fm-surface-focus: var(--wf-blue-100);
    --fm-surface-drop: var(--wf-green-50);
    --fm-border: var(--wf-gray-200);
    --fm-border-light: var(--wf-gray-50);
    --fm-text-primary: var(--wf-gray-900);
    --fm-text-secondary: var(--wf-gray-600);
    --fm-text-disabled: var(--wf-gray-400);
    --fm-accent: var(--wf-blue-600);
    --fm-accent-hover: var(--wf-blue-700);
    --fm-folder-color: var(--wf-gray-600);
    --fm-radius: 8px;
    --fm-radius-lg: 16px;
    --fm-transition: 150ms ease-out;
    --fm-panel-width: 320px;
    --fm-header-height: 52px;
    --fm-row-height: 44px;

    display: flex;
    flex-direction: column;
    background: var(--fm-surface);
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius-lg);
    overflow: hidden;
    font-size: 0.875rem;
    color: var(--fm-text-primary);
    position: relative;
    min-height: 320px;
}

.wf-fm.wf-fm--compact[b-a7hzwtvk0w] {
    min-height: 160px;
}

.wf-fm:focus-visible[b-a7hzwtvk0w] {
    outline: 2px solid var(--fm-accent);
    outline-offset: -2px;
}

/* ── Toolbar ─────────────────────────────── */

.wf-fm-toolbar[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    min-height: var(--fm-header-height);
    border-bottom: 1px solid var(--fm-border-light);
    flex-wrap: wrap;
    background: var(--fm-surface);
    position: sticky;
    top: 0;
    z-index: 5;
}

.wf-fm-toolbar-left[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.wf-fm-toolbar-right[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* ── Breadcrumbs ─────────────────────────── */

.wf-fm-breadcrumbs[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    min-width: 0;
    overflow: hidden;
}

.wf-fm-crumb[b-a7hzwtvk0w] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--fm-text-secondary);
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: var(--fm-radius);
    cursor: pointer;
    transition: background var(--fm-transition), color var(--fm-transition);
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.4;
}

.wf-fm-crumb:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
    color: var(--fm-text-primary);
}

.wf-fm-crumb.active[b-a7hzwtvk0w] {
    color: var(--fm-text-primary);
    font-weight: 600;
    cursor: default;
    pointer-events: none;
}

.wf-fm-crumb-sep[b-a7hzwtvk0w] {
    color: var(--fm-text-disabled);
    font-size: 0.875rem;
    user-select: none;
    flex-shrink: 0;
}

/* ── Action buttons ──────────────────────── */

.wf-fm-btn[b-a7hzwtvk0w] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.375rem 1rem;
    border-radius: 24px;
    border: none;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: background var(--fm-transition), box-shadow var(--fm-transition), transform 80ms ease;
    white-space: nowrap;
    user-select: none;
    line-height: 1.3;
}

.wf-fm-btn:active[b-a7hzwtvk0w] {
    transform: scale(0.97);
}

.wf-fm-btn-primary[b-a7hzwtvk0w] {
    background: var(--fm-accent);
    color: var(--wf-text-on-accent);
}

.wf-fm-btn-primary:hover[b-a7hzwtvk0w] {
    background: var(--fm-accent-hover);
    box-shadow: 0 1px 3px color-mix(in srgb, var(--wf-blue-600) 30%, transparent);
}

.wf-fm-btn-outline[b-a7hzwtvk0w] {
    background: transparent;
    color: var(--fm-accent);
    border: 1px solid var(--fm-border);
}

.wf-fm-btn-outline:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
    border-color: var(--fm-accent);
}

.wf-fm-btn-ghost[b-a7hzwtvk0w] {
    background: transparent;
    color: var(--fm-text-secondary);
}

.wf-fm-btn-ghost:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
    color: var(--fm-text-primary);
}

.wf-fm-btn i[b-a7hzwtvk0w] {
    font-size: 1rem;
}

/* ── Bulk selection bar ──────────────────── */

.wf-fm-bulk-bar[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    background: var(--fm-surface-selected);
    border-radius: 24px;
    flex-wrap: wrap;
    animation: wf-fm-slideIn-b-a7hzwtvk0w var(--fm-transition);
}

.wf-fm-bulk-count[b-a7hzwtvk0w] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--fm-accent);
    white-space: nowrap;
}

[b-a7hzwtvk0w] .wf-fm-bulk-select {
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius);
    font-size: 0.8125rem;
    background: var(--fm-surface);
    color: var(--fm-text-primary);
    min-width: 180px;
}

[b-a7hzwtvk0w] .wf-fm-bulk-target {
    margin: 0;
}

[b-a7hzwtvk0w] .wf-fm-bulk-target .wf-input-frame {
    min-height: 0;
}

/* ── Content area ────────────────────────── */

.wf-fm-body[b-a7hzwtvk0w] {
    display: flex;
    flex: 1;
    min-height: 0;
    position: relative;
}

.wf-fm-list-area[b-a7hzwtvk0w] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--wf-gray-300) transparent;
    position: relative;
}

.wf-fm-list-area[b-a7hzwtvk0w]::-webkit-scrollbar {
    width: 6px;
}

.wf-fm-list-area[b-a7hzwtvk0w]::-webkit-scrollbar-thumb {
    background: var(--wf-gray-300);
    border-radius: 3px;
}

.wf-fm-list-area[b-a7hzwtvk0w]::-webkit-scrollbar-track {
    background: transparent;
}

/* ── Header row ──────────────────────────── */

.wf-fm-header[b-a7hzwtvk0w] {
    display: grid;
    grid-template-columns: 40px 1fr 120px 150px auto;
    align-items: center;
    gap: 0;
    padding: 0 0.75rem;
    height: 36px;
    border-bottom: 1px solid var(--fm-border-light);
    background: var(--fm-surface);
    position: sticky;
    top: 0;
    z-index: 3;
}

.wf-fm-header-cell[b-a7hzwtvk0w] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--fm-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0 0.5rem;
    user-select: none;
}

.wf-fm-header-cell.wf-fm-cell-check[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.wf-fm-header-cell.wf-fm-cell-actions[b-a7hzwtvk0w] {
    text-align: right;
}

/* ── Item row ────────────────────────────── */

.wf-fm--no-check .wf-fm-header[b-a7hzwtvk0w],
.wf-fm--no-check .wf-fm-item[b-a7hzwtvk0w],
.wf-fm--no-check .wf-fm-parent-row[b-a7hzwtvk0w] {
    grid-template-columns: 1fr 120px 150px auto;
}

.wf-fm-item[b-a7hzwtvk0w] {
    display: grid;
    grid-template-columns: 40px 1fr 120px 150px auto;
    align-items: center;
    gap: 0;
    padding: 0 0.75rem;
    min-height: var(--fm-row-height);
    border-bottom: 1px solid transparent;
    cursor: default;
    transition: background var(--fm-transition);
    position: relative;
}

.wf-fm-item:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
}

.wf-fm-item--selected[b-a7hzwtvk0w] {
    background: var(--fm-surface-selected);
}

.wf-fm-item--selected:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-selected-hover);
}

.wf-fm-item--focused[b-a7hzwtvk0w] {
    outline: 2px solid var(--fm-accent);
    outline-offset: -2px;
    border-radius: var(--fm-radius);
    z-index: 1;
}

.wf-fm-item--drop-target[b-a7hzwtvk0w] {
    background: var(--fm-surface-drop) !important;
    outline: 2px dashed var(--wf-green-600);
    outline-offset: -2px;
    border-radius: var(--fm-radius);
    animation: wf-fm-dropPulse-b-a7hzwtvk0w 1s ease infinite;
}

.wf-fm-item--dragging[b-a7hzwtvk0w] {
    opacity: 0.45;
}

/* ── Item cells ──────────────────────────── */

.wf-fm-cell[b-a7hzwtvk0w] {
    padding: 0 0.5rem;
    white-space: nowrap;
}

.wf-fm-cell-check[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.wf-fm-cell-check input[type="checkbox"][b-a7hzwtvk0w] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: var(--fm-accent);
    border-radius: 3px;
}

[b-a7hzwtvk0w] .wf-fm-selection-checkbox .app-checkbox__input {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

[b-a7hzwtvk0w] .wf-fm-selection-checkbox .app-checkbox__row {
    display: block;
    min-height: 0;
}

[b-a7hzwtvk0w] .wf-fm-selection-checkbox .app-checkbox__copy {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.wf-fm-cell-name[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
    padding-right: 1rem;
    overflow: hidden;
}

.wf-fm-cell-name .wf-fm-icon[b-a7hzwtvk0w] {
    flex-shrink: 0;
    font-size: 1.25rem;
    width: 24px;
    text-align: center;
}

.wf-fm-cell-name .wf-fm-icon-folder[b-a7hzwtvk0w] {
    color: var(--fm-folder-color);
}

.wf-fm-cell-name .wf-fm-icon-file[b-a7hzwtvk0w] {
    color: var(--fm-text-disabled);
}

.wf-fm-name-text[b-a7hzwtvk0w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--fm-text-primary);
}

.wf-fm-name-link[b-a7hzwtvk0w] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--fm-text-primary);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color var(--fm-transition);
}

.wf-fm-name-link:hover[b-a7hzwtvk0w] {
    color: var(--fm-accent);
}

.wf-fm-cell-category[b-a7hzwtvk0w] {
    font-size: 0.8125rem;
    color: var(--fm-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-fm-cell-date[b-a7hzwtvk0w] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-fm-cell-date[b-a7hzwtvk0w] {
    font-size: 0.8125rem;
    color: var(--fm-text-secondary);
}

.wf-fm-cell-actions[b-a7hzwtvk0w] {
    text-align: right;
    padding: 0 0.25rem;
    overflow: visible !important;
    position: relative;
}

/* ── Actions menu ────────────────────────── */

.wf-fm-actions-wrapper[b-a7hzwtvk0w] {
    position: relative;
    display: inline-flex;
}

.wf-fm-actions-trigger[b-a7hzwtvk0w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--fm-text-secondary);
    cursor: pointer;
    transition: background var(--fm-transition);
    font-size: 1rem;
}

.wf-fm-actions-trigger:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
    color: var(--fm-text-primary);
}

.wf-fm-actions-menu[b-a7hzwtvk0w] {
    position: absolute;
    inset-block-start: calc(100% + 0.25rem);
    inset-inline-end: 0;
    min-width: 200px;
    z-index: 1060;
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius);
    background: var(--fm-surface);
    box-shadow: var(--wf-shadow);
    overflow: hidden;
    padding: 0.25rem 0;
    animation: wf-fm-menuIn-b-a7hzwtvk0w 120ms ease-out;
}

.wf-fm-actions-menu button[b-a7hzwtvk0w] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border: none;
    background: transparent;
    color: var(--fm-text-primary);
    font-size: 0.8125rem;
    cursor: pointer;
    transition: background var(--fm-transition);
    text-align: left;
}

.wf-fm-actions-menu button:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
}

.wf-fm-actions-menu button i[b-a7hzwtvk0w] {
    color: var(--fm-text-secondary);
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

.wf-fm-actions-menu button.wf-fm-action-danger[b-a7hzwtvk0w] {
    color: var(--wf-color-danger);
}

.wf-fm-actions-menu button.wf-fm-action-danger i[b-a7hzwtvk0w] {
    color: var(--wf-color-danger);
}

.wf-fm-actions-menu button.wf-fm-action-danger:hover[b-a7hzwtvk0w] {
    background: var(--wf-red-50);
}

/* ── Create folder row ───────────────────── */

.wf-fm-create-row[b-a7hzwtvk0w] {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    gap: 0;
    padding: 0.25rem 0.75rem;
    min-height: var(--fm-row-height);
    background: var(--fm-surface-hover);
    border-bottom: 1px solid var(--fm-border-light);
    animation: wf-fm-slideIn-b-a7hzwtvk0w var(--fm-transition);
}

.wf-fm-create-row-icon[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fm-folder-color);
    font-size: 1.25rem;
}

[b-a7hzwtvk0w] .wf-fm-create-row-input {
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius);
    padding: 0.35rem 0.625rem;
    font-size: 0.8125rem;
    background: var(--fm-surface);
    color: var(--fm-text-primary);
    outline: none;
    transition: border-color var(--fm-transition), box-shadow var(--fm-transition);
    width: 100%;
    max-width: 280px;
}

[b-a7hzwtvk0w] .wf-fm-create-row-input:focus {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--wf-blue-600) 20%, transparent);
}

[b-a7hzwtvk0w] .wf-fm-create-row-field {
    margin: 0;
}

[b-a7hzwtvk0w] .wf-fm-create-row-field .wf-input-frame {
    min-height: 0;
}

.wf-fm-create-row-actions[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0 0.5rem;
}

/* ── Empty state ─────────────────────────── */

.wf-fm-empty[b-a7hzwtvk0w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    color: var(--fm-text-secondary);
    text-align: center;
    gap: 1rem;
    flex: 1;
}

.wf-fm-empty-icon[b-a7hzwtvk0w] {
    width: 120px;
    height: 90px;
    opacity: 0.5;
}

.wf-fm-empty-text[b-a7hzwtvk0w] {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--fm-text-secondary);
    max-width: 300px;
}

/* ── Side panel ──────────────────────────── */

.wf-fm-panel[b-a7hzwtvk0w] {
    width: 0;
    overflow: hidden;
    border-left: none;
    background: var(--fm-surface);
    transition: width 200ms ease-out, border-left 200ms ease-out;
    flex-shrink: 0;
}

.wf-fm-panel--open[b-a7hzwtvk0w] {
    width: var(--fm-panel-width);
    border-left: 1px solid var(--fm-border);
}

.wf-fm-panel-inner[b-a7hzwtvk0w] {
    width: var(--fm-panel-width);
    padding: 1.25rem;
    overflow-y: auto;
    height: 100%;
    box-sizing: border-box;
}

.wf-fm-panel-header[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--fm-border-light);
}

.wf-fm-panel-title[b-a7hzwtvk0w] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--fm-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.wf-fm-panel-close[b-a7hzwtvk0w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--fm-text-secondary);
    cursor: pointer;
    transition: background var(--fm-transition);
    font-size: 1rem;
    flex-shrink: 0;
    margin-left: 0.5rem;
}

.wf-fm-panel-close:hover[b-a7hzwtvk0w] {
    background: var(--fm-surface-hover);
}

.wf-fm-panel-icon[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin: 0 auto 1.25rem;
    border-radius: var(--fm-radius-lg);
    background: var(--fm-border-light);
    font-size: 2.25rem;
    color: var(--fm-text-disabled);
}

.wf-fm-panel-meta[b-a7hzwtvk0w] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wf-fm-panel-meta-row[b-a7hzwtvk0w] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.wf-fm-panel-meta-label[b-a7hzwtvk0w] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--fm-text-disabled);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wf-fm-panel-meta-value[b-a7hzwtvk0w] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--fm-text-primary);
}

.wf-fm-panel-extra[b-a7hzwtvk0w] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--fm-border-light);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ── Status badges in panel ──────────────── */

.wf-fm-badge[b-a7hzwtvk0w] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.625rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    width: fit-content;
}

.wf-fm-badge--active[b-a7hzwtvk0w] {
    background: var(--wf-green-50);
    color: var(--wf-green-700);
}

.wf-fm-badge--pending[b-a7hzwtvk0w] {
    background: var(--wf-amber-50);
    color: var(--wf-amber-700);
}

.wf-fm-badge--draft[b-a7hzwtvk0w] {
    background: var(--wf-gray-50);
    color: var(--fm-text-secondary);
}

.wf-fm-badge--danger[b-a7hzwtvk0w] {
    background: var(--wf-red-50);
    color: var(--wf-red-700);
}

/* ── Animations ──────────────────────────── */

@keyframes wf-fm-slideIn-b-a7hzwtvk0w {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes wf-fm-menuIn-b-a7hzwtvk0w {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes wf-fm-dropPulse-b-a7hzwtvk0w {
    0%, 100% { outline-color: var(--wf-green-600); }
    50%      { outline-color: color-mix(in srgb, var(--wf-green-600) 30%, transparent); }
}

/* ── Responsive ──────────────────────────── */

@media (max-width: 768px) {
    .wf-fm-header[b-a7hzwtvk0w],
    .wf-fm-item[b-a7hzwtvk0w] {
        grid-template-columns: 36px 1fr auto;
    }

    .wf-fm-cell-category[b-a7hzwtvk0w],
    .wf-fm-cell-date[b-a7hzwtvk0w],
    .wf-fm-header-cell:nth-child(3)[b-a7hzwtvk0w],
    .wf-fm-header-cell:nth-child(4)[b-a7hzwtvk0w] {
        display: none;
    }

    .wf-fm-toolbar[b-a7hzwtvk0w] {
        padding: 0.375rem 0.625rem;
    }

    .wf-fm-panel--open[b-a7hzwtvk0w] {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        max-width: 320px;
        z-index: 20;
    box-shadow: -4px 0 16px var(--wf-shadow-overlay);
    }

    [b-a7hzwtvk0w] .wf-fm-bulk-select {
        min-width: 120px;
    }
}

/* ── Parent drop row (go up) ─────────────── */

.wf-fm-parent-row[b-a7hzwtvk0w] {
    border-bottom: 1px solid var(--fm-border-light);
}

.wf-fm-parent-row .wf-fm-icon[b-a7hzwtvk0w] {
    color: var(--fm-text-disabled);
    font-size: 1rem;
}

.wf-fm-parent-row .wf-fm-name-text[b-a7hzwtvk0w] {
    color: var(--fm-text-secondary);
    font-weight: 400;
    font-size: 0.8125rem;
}

/* ── File location breadcrumb ────────────── */

.wf-fm-name-wrapper[b-a7hzwtvk0w] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    overflow: hidden;
}

.wf-fm-location[b-a7hzwtvk0w] {
    font-size: 0.6875rem;
    font-weight: 400;
    color: var(--fm-text-disabled);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}

.wf-fm-location i[b-a7hzwtvk0w] {
    font-size: 0.5625rem;
    margin: 0 0.15rem;
}

/* ── Drop overlay (external file drag) ──── */

.wf-fm-drop-overlay[b-a7hzwtvk0w] {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background: color-mix(in srgb, var(--wf-blue-600) 18%, transparent);
    border: 2px dashed var(--fm-accent);
    border-radius: var(--fm-radius);
    pointer-events: none;
    animation: wf-fm-drop-pulse-b-a7hzwtvk0w 1.2s ease-in-out infinite;
}

.wf-fm-drop-overlay i[b-a7hzwtvk0w] {
    font-size: 3rem;
    color: var(--fm-accent);
}

.wf-fm-drop-overlay span[b-a7hzwtvk0w] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--fm-accent);
    text-shadow: 0 1px 2px color-mix(in srgb, var(--wf-white) 80%, transparent);
}

@keyframes wf-fm-drop-pulse-b-a7hzwtvk0w {
    0%, 100% { background: color-mix(in srgb, var(--wf-blue-600) 14%, transparent); }
    50% { background: color-mix(in srgb, var(--wf-blue-600) 26%, transparent); }
}

/* ── Upload progress bar ──────────────── */

.wf-fm-upload-bar[b-a7hzwtvk0w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--fm-surface-selected);
    border-bottom: 1px solid var(--fm-border-light);
    font-size: 0.8125rem;
    color: var(--fm-accent);
    font-weight: 500;
}

.wf-fm-upload-bar i[b-a7hzwtvk0w] {
    font-size: 1rem;
}

@keyframes wf-fm-spin-b-a7hzwtvk0w {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.wf-fm-spin[b-a7hzwtvk0w] {
    animation: wf-fm-spin-b-a7hzwtvk0w 1s linear infinite;
}
/* /Features/LegalDocuments/Components/GroupedDocumentSection.razor.rz.scp.css */
.grouped-document-section .document-item[b-rpw3psiwkp] {
  transition: all 0.2s ease-in-out;
}

.grouped-document-section .document-item:hover[b-rpw3psiwkp] {
  background-color: var(--wf-surface-subtle);
  border-color: var(--wf-color-primary) !important;
}

.grouped-document-section .document-summary .border[b-rpw3psiwkp] {
  transition: all 0.2s ease-in-out;
}

.grouped-document-section .document-summary .border:hover[b-rpw3psiwkp] {
  transform: translateY(-1px);
  box-shadow: var(--wf-shadow-sm);
}

.grouped-document-section .group-header[b-rpw3psiwkp] {
  border-bottom: 1px solid var(--wf-border);
  padding-bottom: 0.5rem;
}

.grouped-document-section .document-group[b-rpw3psiwkp] {
  border-left: 3px solid var(--wf-color-primary);
  padding-left: 1rem;
  margin-left: 0.5rem;
}

/* Button group tweaks (component scoped) */
.grouped-document-section .btn-group .btn[b-rpw3psiwkp] {
  border-radius: 0.25rem;
}

.grouped-document-section .btn-group .btn:not(:last-child)[b-rpw3psiwkp] {
  margin-right: 0.25rem;
}

.document-summary[b-rpw3psiwkp]  .grouped-document-stat {
  display: grid;
  min-height: 4rem;
  gap: 0.25rem;
  border: 1px solid var(--wf-border);
  border-radius: var(--wf-radius);
  padding: 0.5rem;
  text-align: center;
}

.document-summary[b-rpw3psiwkp]  .grouped-document-stat .app-btn__content {
  flex-direction: column;
}

.grouped-document-stat__value[b-rpw3psiwkp] {
  font-size: var(--wf-font-base);
  font-weight: 700;
}

.grouped-document-stat__label[b-rpw3psiwkp] {
  color: var(--wf-text-muted);
  font-size: var(--wf-font-sm);
}
/* /Features/LegalDocuments/Components/LegalDocumentSignaturesPanel.razor.rz.scp.css */
.signature-workflow[b-sbzf6edzz3] {
    border-radius: var(--wf-radius-xl);
}

.signature-timeline .timeline-marker[b-sbzf6edzz3] {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--wf-gray-200);
    color: var(--wf-gray-600);
}

.signature-timeline .is-ready[b-sbzf6edzz3] {
    background: color-mix(in srgb, var(--wf-color-primary) 12%, transparent);
    color: var(--wf-color-primary);
}

.signature-timeline .is-complete[b-sbzf6edzz3] {
    background: color-mix(in srgb, var(--wf-color-success) 12%, transparent);
    color: var(--wf-color-success);
}

.signature-timeline .is-declined[b-sbzf6edzz3] {
    background: color-mix(in srgb, var(--wf-color-danger) 12%, transparent);
    color: var(--wf-color-danger);
}

.signature-timeline li:last-child .border-bottom[b-sbzf6edzz3] {
    border-bottom: 0 !important;
}

.evidence-summary[b-sbzf6edzz3] {
    border: 1px solid color-mix(in srgb, var(--wf-color-success) 18%, transparent);
    background: color-mix(in srgb, var(--wf-color-success) 6%, transparent);
}

.hash-value[b-sbzf6edzz3] {
    display: block;
    overflow-wrap: anywhere;
    color: var(--wf-text);
}
/* /Features/LegalDocuments/Components/LegalSignatureArtworkPreview.razor.rz.scp.css */
.legal-signature-preview[b-ngmv9cuprd] {
    display: grid;
    width: min(100%, 28rem);
    min-height: 9rem;
    margin: var(--wf-space-3) 0;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-md);
    background: var(--wf-surface);
}

.legal-signature-preview img[b-ngmv9cuprd] {
    display: block;
    width: 100%;
    max-height: 14rem;
    object-fit: contain;
}

.legal-signature-preview__state[b-ngmv9cuprd] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--wf-space-2);
    padding: var(--wf-space-4);
    color: var(--wf-text-muted);
    text-align: center;
}

.legal-signature-preview__state--error[b-ngmv9cuprd] {
    color: var(--wf-color-danger);
}
/* /Features/LegalDocuments/Components/LegalSignatureCapturePanel.razor.rz.scp.css */
.legal-signature-capture[b-3ftlrbhrt7] {
    border: 1px solid var(--wf-border);
}

.legal-signature-capture__consent[b-3ftlrbhrt7] {
    margin-bottom: var(--wf-space-3);
    padding: var(--wf-space-3);
    border-left: 0.25rem solid var(--wf-color-primary);
    background: var(--wf-surface-subtle);
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
}

.legal-signature-capture__error[b-3ftlrbhrt7] {
    margin-top: var(--wf-space-2);
    color: var(--wf-color-danger);
    font-size: var(--wf-font-sm);
    font-weight: 600;
}
/* /Features/LegalDocuments/Components/MultiAssociationForm.razor.rz.scp.css */
.association-grid[b-mhcbg4qwqe] {
    --association-gap: 0.75rem;
}

.association-grid .compact-label[b-mhcbg4qwqe] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wf-text-secondary);
}

.association-grid .form-select-sm[b-mhcbg4qwqe] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: var(--wf-gray-300);
    background-color: var(--wf-gray-25);
}

.association-grid .form-select-sm:focus[b-mhcbg4qwqe] {
    border-color: var(--wf-border-focus);
    box-shadow: var(--wf-focus-ring);
}

.association-alert[b-mhcbg4qwqe] {
    margin-bottom: 0;
    background: color-mix(in srgb, var(--wf-color-danger) 10%, transparent);
    border-color: color-mix(in srgb, var(--wf-color-danger) 35%, transparent);
    color: var(--wf-red-700);
}

.association-company-container[b-mhcbg4qwqe] {
    display: flex;
    align-items: center;
}

.association-company-chip[b-mhcbg4qwqe] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wf-color-primary) 16%, transparent);
    color: var(--wf-blue-800);
    font-weight: 600;
}

.association-summary[b-mhcbg4qwqe] {
    border: 1px solid var(--wf-blue-100);
    border-radius: 16px;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(180deg, var(--wf-blue-50) 0%, var(--wf-surface) 75%);
}

.association-summary-header[b-mhcbg4qwqe] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    color: var(--wf-blue-800);
}

.association-chip-list[b-mhcbg4qwqe] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.association-chip[b-mhcbg4qwqe] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    background-color: var(--wf-blue-50);
    color: var(--wf-blue-800);
}

.association-chip--company[b-mhcbg4qwqe] {
    background-color: color-mix(in srgb, var(--wf-color-primary) 15%, transparent);
    color: var(--wf-blue-800);
}

.association-chip--project[b-mhcbg4qwqe] {
    background-color: color-mix(in srgb, var(--wf-color-info) 18%, transparent);
    color: var(--wf-teal-800);
}

.association-chip--provider[b-mhcbg4qwqe] {
    background-color: color-mix(in srgb, var(--wf-color-success) 18%, transparent);
    color: var(--wf-green-800);
}

.association-chip--vendor[b-mhcbg4qwqe] {
    background-color: color-mix(in srgb, var(--wf-color-warning) 20%, transparent);
    color: var(--wf-amber-800);
}

@media (max-width: 767.98px) {
    .association-summary[b-mhcbg4qwqe] {
        padding: 0.75rem 0.85rem;
    }

    .association-chip[b-mhcbg4qwqe] {
        width: 100%;
        justify-content: center;
    }
}
/* /Features/LegalDocuments/Components/RecordSignatureModal.razor.rz.scp.css */
.requirement-strip[b-k8di7ht4g9],
.routing-panel[b-k8di7ht4g9],
.participant-step[b-k8di7ht4g9] {
    background: var(--wf-gray-100);
}

.candidate-list[b-k8di7ht4g9] {
    max-height: 27rem;
    overflow-y: auto;
}

.candidate-row:last-child[b-k8di7ht4g9] {
    border-bottom: 0 !important;
}

.candidate-avatar[b-k8di7ht4g9],
.route-number[b-k8di7ht4g9],
.step-marker[b-k8di7ht4g9] {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    font-size: var(--wf-font-sm);
    font-weight: 700;
}

.candidate-avatar[b-k8di7ht4g9] {
    background: color-mix(in srgb, var(--wf-color-primary) 10%, transparent);
    color: var(--wf-color-primary);
}

.route-number[b-k8di7ht4g9] {
    background: var(--wf-gray-900);
    color: var(--wf-text-on-accent);
}

.step-marker[b-k8di7ht4g9] {
    background: var(--wf-gray-200);
    color: var(--wf-gray-600);
}

.step-marker.is-ready[b-k8di7ht4g9] {
    background: color-mix(in srgb, var(--wf-color-primary) 12%, transparent);
    color: var(--wf-color-primary);
}

.step-marker.is-complete[b-k8di7ht4g9] {
    background: color-mix(in srgb, var(--wf-color-success) 12%, transparent);
    color: var(--wf-color-success);
}

.step-marker.is-declined[b-k8di7ht4g9] {
    background: color-mix(in srgb, var(--wf-color-danger) 12%, transparent);
    color: var(--wf-color-danger);
}

.evidence-panel[b-k8di7ht4g9] {
    border: 1px solid color-mix(in srgb, var(--wf-color-success) 18%, transparent);
    background: color-mix(in srgb, var(--wf-color-success) 5%, transparent);
}

.hash-value[b-k8di7ht4g9] {
    display: block;
    overflow-wrap: anywhere;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
}

.evidence-entry[b-k8di7ht4g9] {
    min-width: 0;
}
/* /Features/LegalDocuments/Pages/LegalDocumentCreate.razor.rz.scp.css */
[b-79d2d43fpz] .legal-document-create {
    max-width: 1180px;
    padding: clamp(1rem, 2vw, 1.75rem);
    margin-bottom: 2rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--wf-color-primary) 8%, transparent) 0%, transparent 85%);
    border-radius: 24px;
}

[b-79d2d43fpz] .legal-document-card {
    border: 1px solid var(--wf-blue-100);
    border-radius: 20px;
    background: linear-gradient(180deg, var(--wf-surface) 45%, var(--wf-gray-25) 100%);
}

[b-79d2d43fpz] .legal-document-card-body {
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

.document-create-form[b-79d2d43fpz] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.document-create-form .compact-label[b-79d2d43fpz] {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wf-text-secondary);
}

.document-create-form .form-select-sm[b-79d2d43fpz],
.document-create-form .form-control-sm[b-79d2d43fpz] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: var(--wf-gray-300);
    background-color: var(--wf-gray-25);
}

.document-create-form .form-select-sm:focus[b-79d2d43fpz],
.document-create-form .form-control-sm:focus[b-79d2d43fpz] {
    border-color: var(--wf-border-focus);
    box-shadow: var(--wf-focus-ring);
}

[b-79d2d43fpz] .document-create-form .btn {
    border-radius: 0.75rem;
}

[b-79d2d43fpz] .document-create-form .btn-primary {
    box-shadow: 0 8px 18px color-mix(in srgb, var(--wf-color-primary) 22%, transparent);
}

[b-79d2d43fpz] .document-create-form .btn-primary:disabled {
    box-shadow: none;
}

[b-79d2d43fpz] .document-create-form .alert {
    border-radius: 0.85rem;
    padding: 0.85rem 1rem;
}

@media (max-width: 767.98px) {
    [b-79d2d43fpz] .legal-document-create {
        padding: 1rem;
        border-radius: 18px;
    }

    [b-79d2d43fpz] .legal-document-card-body {
        padding: 1.25rem;
    }

}
/* /Features/LegalDocuments/Pages/LegalDocumentEdit.razor.rz.scp.css */
[b-4gs6pu6gm0] .legal-document-edit {
    max-width: 1180px;
    padding: clamp(1rem, 2vw, 1.75rem);
    margin-bottom: 2rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--wf-color-primary) 8%, transparent) 0%, transparent 85%);
    border-radius: 24px;
}

.document-edit-form[b-4gs6pu6gm0] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

[b-4gs6pu6gm0] .legal-document-card {
    border: 1px solid var(--wf-blue-100);
    border-radius: 20px;
    background: linear-gradient(180deg, var(--wf-surface) 45%, var(--wf-blue-50) 100%);
}

[b-4gs6pu6gm0] .legal-document-card-body {
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

[b-4gs6pu6gm0] .document-edit-form .association-grid {
    align-items: flex-start;
}

.document-edit-form .compact-label[b-4gs6pu6gm0] {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wf-text-secondary);
}

.document-edit-form .form-select-sm[b-4gs6pu6gm0],
.document-edit-form .form-control-sm[b-4gs6pu6gm0] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: var(--wf-gray-300);
    background-color: var(--wf-gray-25);
}

.document-edit-form .form-select-sm:focus[b-4gs6pu6gm0],
.document-edit-form .form-control-sm:focus[b-4gs6pu6gm0] {
    border-color: var(--wf-border-focus);
    box-shadow: var(--wf-focus-ring);
}

.association-tip[b-4gs6pu6gm0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.9rem;
    background: color-mix(in srgb, var(--wf-color-primary) 8%, transparent);
    color: var(--wf-blue-800);
    font-size: 0.8rem;
    width: 100%;
    margin-top: 0.5rem;
    flex-wrap: wrap;
    border-radius: 0.75rem;
}

[b-4gs6pu6gm0] .side-panel-card {
    border: 1px solid var(--wf-blue-100);
    border-radius: 18px;
    background: linear-gradient(180deg, var(--wf-surface) 40%, var(--wf-blue-50) 100%);
}

.signature-editor-panel[b-4gs6pu6gm0] {
    border-radius: 16px;
    padding: 1rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--wf-color-primary) 12%, transparent) 0%, color-mix(in srgb, var(--wf-surface) 85%, transparent) 85%);
    border: 1px solid color-mix(in srgb, var(--wf-color-primary) 25%, transparent);
}

.signature-editor-panel .form-check-input:focus[b-4gs6pu6gm0] {
    box-shadow: var(--wf-focus-ring);
}

.signature-editor-panel .form-control-sm[b-4gs6pu6gm0] {
    border-radius: 0.65rem;
}

@media (max-width: 767.98px) {
    [b-4gs6pu6gm0] .legal-document-edit {
        padding: 1rem;
        border-radius: 18px;
    }

    [b-4gs6pu6gm0] .legal-document-card-body {
        padding: 1.25rem;
    }

    [b-4gs6pu6gm0] .side-panel-card {
        border-radius: 16px;
    }
}
/* /Features/LegalDocuments/Pages/LegalDocuments.razor.rz.scp.css */
/* ─────────────────────────────────────────────
   Legal Documents — Google Drive–style filters
   ───────────────────────────────────────────── */

.wf-ld-filter-bar[b-b7hli8ixiy] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    background: var(--wf-gray-50);
    border-radius: 12px;
}

.wf-ld-filter-row[b-b7hli8ixiy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Search input ────────────────────────── */

.wf-ld-search-wrapper[b-b7hli8ixiy] {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 380px;
}

[b-b7hli8ixiy] .wf-ld-search-field {
    gap: 0;
}

[b-b7hli8ixiy] .wf-ld-search-field .wf-field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.wf-ld-search-icon[b-b7hli8ixiy] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--wf-text-secondary);
    font-size: 0.875rem;
    pointer-events: none;
}

[b-b7hli8ixiy] .wf-ld-search-input {
    width: 100%;
    padding: 0.4375rem 0.75rem 0.4375rem 2.25rem;
    border: 1px solid transparent;
    border-radius: 24px;
    background: var(--wf-surface);
    font-size: 0.8125rem;
    color: var(--wf-text);
    outline: none;
    transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
}

[b-b7hli8ixiy] .wf-ld-search-input::placeholder {
    color: var(--wf-text-subtle);
}

[b-b7hli8ixiy] .wf-ld-search-input:focus {
    border-color: var(--wf-border-focus);
    box-shadow: var(--wf-focus-ring);
}

/* ── Filter selects ──────────────────────── */

.wf-ld-filter-select[b-b7hli8ixiy] {
    padding: 0.375rem 2rem 0.375rem 0.75rem;
    border: 1px solid var(--wf-gray-300);
    border-radius: 20px;
    background: var(--wf-surface);
    font-size: 0.8125rem;
    color: var(--wf-text);
    cursor: pointer;
    outline: none;
    transition: border-color 150ms ease-out, background 150ms ease-out;
}

.wf-ld-filter-select:hover[b-b7hli8ixiy] {
    border-color: var(--wf-gray-400);
}

.wf-ld-filter-select:focus[b-b7hli8ixiy] {
    border-color: var(--wf-border-focus);
}

/* ── Custom dropdown (matches Vendor Directory) ── */

.wf-ld-dd[b-b7hli8ixiy] {
    position: relative;
    display: inline-flex;
}

.wf-ld-dd-trigger[b-b7hli8ixiy] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-image: none !important;
    padding: 0.375rem 0.75rem !important;
}

.wf-ld-dd-trigger > span[b-b7hli8ixiy] {
    white-space: nowrap;
}

.wf-ld-dd-caret[b-b7hli8ixiy] {
    font-size: 0.7rem;
    color: var(--wf-text-secondary);
    transition: transform 150ms ease-out;
}

.wf-ld-dd.is-open .wf-ld-dd-caret[b-b7hli8ixiy] {
    transform: rotate(180deg);
}

.wf-ld-dd-menu[b-b7hli8ixiy] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    background: var(--wf-surface);
    border: 1px solid var(--wf-gray-300);
    border-radius: 10px;
    box-shadow: var(--wf-shadow);
    padding: 6px;
    z-index: 50;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wf-ld-dd-item[b-b7hli8ixiy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: none;
    background: transparent;
    border-radius: 6px;
    text-align: left;
    font-size: 0.8125rem;
    color: var(--wf-text);
    cursor: pointer;
    white-space: nowrap;
}

.wf-ld-dd-item:hover[b-b7hli8ixiy] {
    background: var(--wf-gray-50);
}

.wf-ld-dd-item.is-active[b-b7hli8ixiy] {
    color: var(--wf-color-primary);
    font-weight: 500;
}

.wf-ld-dd-check[b-b7hli8ixiy] {
    font-size: 0.9rem;
    width: 16px;
    color: var(--wf-color-primary);
    visibility: hidden;
}

.wf-ld-dd-item.is-active .wf-ld-dd-check[b-b7hli8ixiy] {
    visibility: visible;
}

/* ── Clear button chip ───────────────────── */

.wf-ld-chip-clear[b-b7hli8ixiy] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--wf-gray-300);
    border-radius: 20px;
    background: var(--wf-surface);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--wf-text-secondary);
    cursor: pointer;
    transition: background 150ms ease-out, color 150ms ease-out;
}

.wf-ld-chip-clear:hover[b-b7hli8ixiy] {
    background: var(--wf-red-50);
    color: var(--wf-red-700);
    border-color: var(--wf-red-700);
}

.wf-ld-chip-clear i[b-b7hli8ixiy] {
    font-size: 0.625rem;
}

/* ── Stat badges row ─────────────────────── */

.wf-ld-stats-row[b-b7hli8ixiy] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
    padding-top: 0.125rem;
}

.wf-ld-stat[b-b7hli8ixiy] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--wf-text-secondary);
    white-space: nowrap;
}

.wf-ld-stat i[b-b7hli8ixiy] {
    font-size: 0.8125rem;
}

.wf-ld-stat--warning[b-b7hli8ixiy] {
    color: var(--wf-amber-700);
}

.wf-ld-stat--success[b-b7hli8ixiy] {
    color: var(--wf-green-700);
}

.wf-ld-stat--danger[b-b7hli8ixiy] {
    color: var(--wf-red-700);
}

/* ── Loading state ───────────────────────── */

.wf-ld-loading[b-b7hli8ixiy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    gap: 0.75rem;
    color: var(--wf-text-secondary);
    font-size: 0.875rem;
}

.wf-ld-loading-spinner[b-b7hli8ixiy] {
    width: 28px;
    height: 28px;
    border: 3px solid var(--wf-gray-200);
    border-top-color: var(--wf-color-primary);
    border-radius: 50%;
    animation: wf-ld-spin-b-b7hli8ixiy 0.7s linear infinite;
}

@keyframes wf-ld-spin-b-b7hli8ixiy {
    to { transform: rotate(360deg); }
}

/* ── Responsive ──────────────────────────── */

@media (max-width: 768px) {
    .wf-ld-search-wrapper[b-b7hli8ixiy] {
        min-width: 100%;
        max-width: none;
    }

    .wf-ld-filter-row[b-b7hli8ixiy] {
        gap: 0.375rem;
    }
}
/* /Features/LegalDocuments/Pages/LegalDocumentView.razor.rz.scp.css */
.file-icon[b-y3f6884nzn] {
    display: grid;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: var(--wf-radius-xl);
    background: color-mix(in srgb, var(--wf-color-primary) 10%, transparent);
    color: var(--wf-color-primary);
    font-size: 1.4rem;
}

.legal-document-view__loading[b-y3f6884nzn] {
    min-height: 25rem;
}
/* /Features/Notifications/Pages/Notifications.razor.rz.scp.css */
.notifications-list[b-1ycjh7h9cc] {
    display: grid;
}

.notifications-list[b-1ycjh7h9cc]  .notifications-item {
    min-height: 5.25rem;
    justify-content: flex-start;
    border: 0;
    border-bottom: 1px solid var(--wf-border-subtle);
    border-radius: 0;
    padding: 1rem 1.25rem;
    color: var(--wf-text);
    text-align: start;
}

.notifications-list[b-1ycjh7h9cc]  .notifications-item:last-child {
    border-bottom: 0;
}

.notifications-list[b-1ycjh7h9cc]  .notifications-item:hover:not(:disabled) {
    background: var(--wf-surface-hover);
}

.notifications-list[b-1ycjh7h9cc]  .notifications-item--unread {
    background: var(--wf-amber-50);
    box-shadow: inset 0.25rem 0 0 var(--wf-amber-500);
}

.notifications-item__layout[b-1ycjh7h9cc] {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.notifications-item__body[b-1ycjh7h9cc] {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 0.375rem;
}

.notifications-item__heading[b-1ycjh7h9cc] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
}

.notifications-item__heading strong[b-1ycjh7h9cc] {
    overflow-wrap: anywhere;
}

.notifications-item__title--read[b-1ycjh7h9cc],
.notifications-item__message[b-1ycjh7h9cc],
.notifications-item__date[b-1ycjh7h9cc] {
    color: var(--wf-text-muted);
}

.notifications-item__message[b-1ycjh7h9cc] {
    overflow-wrap: anywhere;
    font-size: var(--wf-font-sm);
    line-height: 1.45;
}

.notifications-item__date[b-1ycjh7h9cc] {
    flex: 0 0 auto;
    font-size: var(--wf-font-xs);
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .notifications-list[b-1ycjh7h9cc]  .notifications-item {
        padding: 0.875rem;
    }

    .notifications-item__layout[b-1ycjh7h9cc] {
        flex-direction: column;
        gap: 0.625rem;
    }

    .notifications-item__date[b-1ycjh7h9cc] {
        padding-inline-start: 1.5rem;
    }
}
/* /Features/Procurement/Components/PurchaseOrderLineEditor.razor.rz.scp.css */
.po-line-editor__item[b-58qpqs9ize] {
    width: 40%;
}

.po-line-editor__quantity[b-58qpqs9ize],
.po-line-editor__price[b-58qpqs9ize] {
    width: 20%;
}

.po-line-editor__total[b-58qpqs9ize] {
    width: 15%;
}

.po-line-editor__actions[b-58qpqs9ize] {
    width: 5%;
}
/* /Features/Procurement/Pages/ApprovalPolicyEdit.razor.rz.scp.css */
.approval-policy__subject-field[b-22vww3k54p] {
    width: 12.5rem;
}
/* /Features/Procurement/Pages/InvoiceCreate.razor.rz.scp.css */
.invoice-lines__description[b-zv5gu95luq] {
    width: 40%;
}

.invoice-lines__quantity[b-zv5gu95luq] {
    width: 15%;
}

.invoice-lines__price[b-zv5gu95luq],
.invoice-lines__total[b-zv5gu95luq] {
    width: 20%;
}

.invoice-lines__actions[b-zv5gu95luq] {
    width: 5%;
}

.invoice-lines__table[b-zv5gu95luq] {
    min-width: 58rem;
}
/* /Features/Procurement/Pages/Orders/Create.razor.rz.scp.css */
.purchase-order-create__summary[b-o8y763hn8e] {
    top: 1rem;
}
/* /Features/Procurement/Pages/PurchaseRequestCreate.razor.rz.scp.css */
.dashed-border[b-bc7kvsi79q] {
    border-style: dashed !important;
}

.pr-lines__account[b-bc7kvsi79q],
.pr-lines__amount[b-bc7kvsi79q] {
    width: 15%;
}

.pr-lines__item[b-bc7kvsi79q] {
    width: 25%;
}

.pr-lines__quantity[b-bc7kvsi79q],
.pr-lines__price[b-bc7kvsi79q] {
    width: 10%;
}

.pr-lines__allocation[b-bc7kvsi79q] {
    width: 20%;
}

.pr-lines__actions[b-bc7kvsi79q] {
    width: 5%;
}

.pr-lines__table[b-bc7kvsi79q] {
    min-width: 64rem;
}

.pr-lines__compact-input[b-bc7kvsi79q] {
    font-size: var(--wf-font-base-plus);
}

.pr-approver__avatar[b-bc7kvsi79q] {
    width: 2rem;
    height: 2rem;
}
/* /Features/Procurement/Pages/PurchaseRequestDetails.razor.rz.scp.css */
.pr-details-lines__account[b-pzfa3kcv9c],
.pr-details-lines__department[b-pzfa3kcv9c] {
    width: 20%;
}

.pr-details-lines__description[b-pzfa3kcv9c] {
    width: 30%;
}

.pr-details-lines__amount[b-pzfa3kcv9c],
.pr-details-lines__location[b-pzfa3kcv9c] {
    width: 15%;
}

.pr-preview-body[b-pzfa3kcv9c] {
    min-width: 0;
    overflow: auto;
}

.pr-preview-frame[b-pzfa3kcv9c] {
    width: 100%;
    height: min(72vh, 48rem);
    border: 0;
}

@media (max-width: 575.98px) {
    .pr-preview-frame[b-pzfa3kcv9c] {
        height: 65vh;
    }
}
/* /Features/Projects/Components/ProjectDetailsHeader.razor.rz.scp.css */
/* ─────────────────────────────────────────────
   ProjectDetailsHeader — compact, responsive
   ───────────────────────────────────────────── */

.pdh[b-cobixt76qi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

/* ── Title area ────────────────────────────── */

.pdh-info[b-cobixt76qi] {
    min-width: 0;
}

.pdh-title[b-cobixt76qi] {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--wf-text);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pdh-subtitle[b-cobixt76qi] {
    font-size: 0.8125rem;
    color: var(--wf-text-secondary);
    margin: 0.125rem 0 0;
    line-height: 1.4;
}

/* ── Actions row ───────────────────────────── */

.pdh-actions[b-cobixt76qi] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* ── Buttons ───────────────────────────────── */

.pdh-btn[b-cobixt76qi] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 8px;
    border: none;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    line-height: 1.3;
    transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.pdh-btn:active[b-cobixt76qi] {
    transform: scale(0.97);
}

.pdh-btn i[b-cobixt76qi] {
    font-size: 0.9375rem;
}

.pdh-btn-ghost[b-cobixt76qi] {
    background: transparent;
    color: var(--wf-text-secondary);
}

.pdh-btn-ghost:hover[b-cobixt76qi] {
    background: var(--wf-blue-50);
    color: var(--wf-text);
}

.pdh-btn-accent[b-cobixt76qi] {
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
}

.pdh-btn-accent:hover[b-cobixt76qi] {
    background: var(--wf-blue-700);
    box-shadow: 0 1px 3px color-mix(in srgb, var(--wf-color-primary) 30%, transparent);
}

/* ── Responsive ────────────────────────────── */

@media (max-width: 768px) {
    .pdh[b-cobixt76qi] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .pdh-title[b-cobixt76qi] {
        font-size: 1.15rem;
        white-space: normal;
    }

    .pdh-actions[b-cobixt76qi] {
        width: 100%;
        justify-content: flex-start;
    }

    .pdh-btn[b-cobixt76qi] {
        padding: 0.375rem 0.5rem;
    }

    .pdh-btn-label[b-cobixt76qi] {
        display: none;
    }

    .pdh-btn i[b-cobixt76qi] {
        font-size: 1.05rem;
    }
}

@media (max-width: 480px) {
    .pdh-actions[b-cobixt76qi] {
        gap: 0.125rem;
    }

    .pdh-btn[b-cobixt76qi] {
        padding: 0.325rem 0.425rem;
        border-radius: 6px;
    }
}
/* /Features/Projects/Components/ProjectDocumentsHierarchySection.razor.rz.scp.css */
.project-documents__loading[b-1uxkju426z] {
    min-height: 10rem;
}
/* /Features/Projects/Components/ProjectGrid.razor.rz.scp.css */
.project-grid__empty-icon[b-a3nvsxhxit] {
    font-size: 3rem;
}
/* /Features/Projects/Components/ProjectPurchaseRequestsSection.razor.rz.scp.css */
.project-pr__title[b-w2icw72dvy] {
    max-width: 11.25rem;
}

.project-pr__vendor[b-w2icw72dvy] {
    max-width: 7.5rem;
}

.project-pr__empty-icon[b-w2icw72dvy] {
    font-size: 2.5rem;
}
/* /Features/Projects/Components/ProjectRfpsSection.razor.rz.scp.css */
.project-rfp__title[b-ffemwos0ps] {
    max-width: 12.5rem;
}

.project-rfp__empty-icon[b-ffemwos0ps] {
    font-size: 2.5rem;
}
/* /Features/Projects/Components/ProjectTimelineSection.razor.rz.scp.css */
.project-timeline__icon[b-yg1806flxe] {
    font-size: 2rem;
}

.project-timeline__arrow[b-yg1806flxe] {
    font-size: 1.5rem;
}
/* /Features/Projects/Components/ProjectVendorsSection.razor.rz.scp.css */
.project-vendors__empty-icon[b-smkuc71xab] {
    font-size: 2rem;
}
/* /Features/Projects/Components/RfpPreview.razor.rz.scp.css */
.rfp-preview[b-jz573jlqbq] {
    max-width: 43.75rem;
}

.rfp-preview__header[b-jz573jlqbq] {
    background: linear-gradient(135deg, var(--wf-blue-600) 0%, var(--wf-blue-700) 100%);
    color: var(--wf-text-on-accent);
}
/* /Features/Projects/Pages/CompanyProjectCreate.razor.rz.scp.css */
.project-page-spacer[b-z3i1det85z] {
    height: 6.25rem;
}
/* /Features/Projects/Pages/CompanyProjectDetails.razor.rz.scp.css */
.project-details__error-icon[b-wmkazgucfd] {
    font-size: 4rem;
}

.project-details__spacer[b-wmkazgucfd] {
    height: 6.25rem;
}
/* /Features/Projects/Pages/PublicPortalSettings.razor.rz.scp.css */
.portal-settings-page[b-4n064tomut] {
    --ps-surface: var(--wf-surface);
    --ps-border: var(--wf-border);
    --ps-muted: var(--wf-text-muted);
}

.portal-settings-page .ops-kpi[b-4n064tomut] {
    border: 1px solid var(--ps-border);
    border-radius: 10px;
    box-shadow: var(--wf-shadow-xs);
}

.portal-settings-page .ops-kpi .card-body[b-4n064tomut] {
    padding: 0.75rem;
}

.portal-settings-page .ops-kpi-label[b-4n064tomut] {
    color: var(--ps-muted);
    font-size: 0.73rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.25rem;
}

.portal-settings-page .ops-kpi-value[b-4n064tomut] {
    font-size: 1.25rem;
    line-height: 1.15;
    font-weight: 700;
    color: var(--wf-text);
}

.portal-settings-page .ops-kpi-sub[b-4n064tomut] {
    margin-top: 0.15rem;
    font-size: 0.74rem;
    color: var(--ps-muted);
}

.portal-settings-page .ops-meta[b-4n064tomut] {
    min-width: 220px;
}

.portal-visibility__progress[b-4n064tomut] {
    display: block;
    width: 100%;
    height: 1rem;
    overflow: hidden;
    border: 0;
    border-radius: var(--wf-radius);
    background: var(--wf-gray-200);
    accent-color: var(--wf-color-primary);
}

.portal-visibility__progress[b-4n064tomut]::-webkit-progress-bar {
    background: var(--wf-gray-200);
}

.portal-visibility__progress[b-4n064tomut]::-webkit-progress-value {
    background: var(--wf-color-primary);
}

.portal-visibility__progress[b-4n064tomut]::-moz-progress-bar {
    background: var(--wf-color-primary);
}

@media (max-width: 768px) {
    .portal-settings-page .btn-group .btn[b-4n064tomut] {
        font-size: 0.8rem;
        padding: 0.34rem 0.5rem;
    }

    .portal-settings-page .ops-meta[b-4n064tomut] {
        min-width: 0;
        width: 100%;
    }
}
/* /Features/Rfp/Components/Comparison/ComparisonColumnMenu.razor.rz.scp.css */
/* Anchored by JS (wattfarmerColumnFilterPopover) to the column's options button.
   The static values below are only the pre-positioning fallback. */
.comparison-col-menu[b-k5sretavuv] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1060;
    width: 17rem;
    max-width: calc(100vw - 1rem);
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    box-shadow: 0 12px 32px var(--wf-shadow-overlay);
    font-weight: 400;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
}

.comparison-col-menu-head[b-k5sretavuv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wf-space-2);
    padding: var(--wf-space-2) var(--wf-space-2) var(--wf-space-2) var(--wf-space-3);
    border-bottom: 1px solid var(--wf-border);
}

.comparison-col-menu-title[b-k5sretavuv] {
    color: var(--wf-text);
    font-size: var(--wf-font-base);
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comparison-col-menu-section[b-k5sretavuv] {
    display: flex;
    flex-direction: column;
    gap: var(--wf-space-2);
    padding: var(--wf-space-3);
    border-bottom: 1px solid var(--wf-border);
}

.comparison-col-menu-foot[b-k5sretavuv] {
    padding: var(--wf-space-2) var(--wf-space-3);
}

.comparison-col-menu-label[b-k5sretavuv] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-xs-plus);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.comparison-col-menu-stack[b-k5sretavuv] {
    display: flex;
    flex-direction: column;
    gap: var(--wf-space-2);
}

.comparison-col-menu-inline[b-k5sretavuv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wf-space-2);
}

/* Full-width, left-aligned rows read as menu entries rather than as buttons. */
.comparison-col-menu[b-k5sretavuv]  .comparison-col-menu-item {
    justify-content: flex-start;
    width: 100%;
}

.comparison-col-menu[b-k5sretavuv]  .comparison-col-menu-item .app-btn__content {
    justify-content: flex-start;
}

.comparison-col-menu[b-k5sretavuv]  .comparison-col-menu-half {
    flex: 1 1 0;
    min-width: 0;
}

.comparison-col-menu[b-k5sretavuv]  .comparison-col-menu-link {
    min-height: 0;
    padding-inline: 0;
}

.comparison-col-menu-values[b-k5sretavuv] {
    max-height: 13rem;
    overflow-y: auto;
    padding: var(--wf-space-1) var(--wf-space-2);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    background: var(--wf-surface);
}

.comparison-col-menu-empty[b-k5sretavuv] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    padding: var(--wf-space-2);
    text-align: center;
}
/* /Features/Rfp/Components/Comparison/ComparisonEntryDialog.razor.rz.scp.css */
.comparison-entry-fields[b-f02jxassxz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    align-items: start;
    gap: 1rem;
}

.comparison-entry-field[b-f02jxassxz] {
    min-width: 0;
}

.comparison-entry-field--compact[b-f02jxassxz] {
    width: min(100%, 18rem);
}

.comparison-entry-field--compact[b-f02jxassxz]  .wf-input-frame {
    width: 100%;
}

@media (max-width: 575.98px) {
    .comparison-entry-fields[b-f02jxassxz] { grid-template-columns: 1fr; }
    .comparison-entry-field--compact[b-f02jxassxz] { width: 100%; }
}
/* /Features/Rfp/Components/Comparison/ComparisonValueCell.razor.rz.scp.css */
/* Styles for the markup this component owns. They used to live in the table's stylesheet,
   but Blazor scopes CSS per component: once the cell moved in here, selectors compiled
   against the table's scope stopped matching and the editor silently lost its sizing. */

.comparison-cell-display[b-qlvs1szzeu] {
    align-items: center;
    display: flex;
    gap: var(--wf-space-2);
    justify-content: center;
}

.comparison-cell-value[b-qlvs1szzeu] {
    align-items: center;
    display: inline-flex;
    flex: 1 1 auto;
    gap: 0.15rem;
    justify-content: center;
    min-width: 0;
    text-align: center;
}

/* Wraps rather than overflowing: in the swapped view a vendor column can be narrower
   than the editor's natural width. */
.comparison-cell-editor[b-qlvs1szzeu] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: center;
    max-width: 100%;
    min-width: 0;
}

.comparison-cell-editor-right[b-qlvs1szzeu] {
    justify-content: flex-end;
}

.comparison-bool-group[b-qlvs1szzeu] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.15rem;
    justify-content: center;
}

.comparison-cell-editor[b-qlvs1szzeu]  .comparison-cell-control {
    flex: 1 1 7rem;
    min-width: 6rem;
}

.comparison-cell-editor[b-qlvs1szzeu]  .comparison-cell-input {
    min-width: 0;
    width: 100%;
}

.comparison-cell-editor-right[b-qlvs1szzeu]  .comparison-cell-input {
    text-align: right;
}

.comparison-cell-editor[b-qlvs1szzeu]  .comparison-bool-btn {
    font-size: 0.8rem;
    line-height: 1.4;
    min-width: 0;
    padding: 0.15rem 0.4rem;
    white-space: nowrap;
}

.comparison-cell-error[b-qlvs1szzeu] {
    color: var(--wf-color-danger);
    font-size: var(--wf-font-xs-plus);
    margin-top: 0.25rem;
    text-align: center;
}
/* /Features/Rfp/Components/Comparison/RfpComparisonColumnManagerDialog.razor.rz.scp.css */
.column-manager-note[b-246x2cr1xm] {
    align-items: baseline;
    background: var(--wf-blue-50);
    border: 1px solid var(--wf-blue-200);
    border-radius: var(--wf-radius);
    color: var(--wf-text-secondary);
    display: flex;
    font-size: var(--wf-font-sm);
    gap: var(--wf-space-2);
    margin-bottom: var(--wf-space-4);
    padding: var(--wf-space-2) var(--wf-space-3);
}

.column-manager-template[b-246x2cr1xm] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-3);
    justify-content: space-between;
    margin-bottom: var(--wf-space-3);
}

.column-manager-template-copy[b-246x2cr1xm] {
    min-width: 0;
}

.column-manager-template-name[b-246x2cr1xm] {
    color: var(--wf-text);
    font-size: var(--wf-font-base-plus);
    font-weight: 700;
}

.column-manager-template-meta[b-246x2cr1xm] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
}
/* /Features/Rfp/Components/Comparison/RfpComparisonSection.razor.rz.scp.css */
.rfp-comparison-header[b-ktdgglhlvk] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
    justify-content: space-between;
}

.rfp-comparison-heading[b-ktdgglhlvk] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
    min-width: 0;
}

.rfp-comparison-title[b-ktdgglhlvk] {
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 700;
}

.rfp-comparison-actions[b-ktdgglhlvk] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
}

.rfp-comparison-placeholder[b-ktdgglhlvk] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    margin-inline: auto;
    max-width: 34rem;
    padding: var(--wf-space-5) var(--wf-space-3);
    text-align: center;
}

.rfp-comparison-placeholder-icon[b-ktdgglhlvk] {
    display: block;
    font-size: 1.5rem;
    margin-bottom: var(--wf-space-2);
}

.rfp-comparison-notice[b-ktdgglhlvk] {
    align-items: baseline;
    background: var(--wf-blue-50);
    border: 1px solid var(--wf-blue-200);
    border-radius: var(--wf-radius);
    color: var(--wf-text-secondary);
    display: flex;
    font-size: var(--wf-font-sm);
    gap: var(--wf-space-2);
    padding: var(--wf-space-2) var(--wf-space-3);
}

/* Refresh indicator. Absolutely positioned so a background reload never changes the
   card's height: any reflow here scrolls the page out from under whoever is reading
   it. `position: relative` on the body is safe for the table's full-screen overlay --
   only transform/filter/contain would trap a `position: fixed` child. */
.rfp-comparison-body[b-ktdgglhlvk] {
    position: relative;
}

.rfp-comparison-updating[b-ktdgglhlvk] {
    align-items: center;
    background: var(--wf-blue-50);
    border: 1px solid var(--wf-blue-200);
    border-radius: 999px;
    color: var(--wf-blue-800);
    display: inline-flex;
    font-size: var(--wf-font-xs-plus);
    font-weight: 700;
    gap: var(--wf-space-1);
    padding: 0.2rem 0.6rem;
    pointer-events: none;
    position: absolute;
    right: var(--wf-space-4);
    top: calc(-1 * var(--wf-space-4));
    z-index: 5;
}

@media (prefers-reduced-motion: no-preference) {
    .rfp-comparison-updating .bi[b-ktdgglhlvk] {
        animation: rfp-comparison-spin-b-ktdgglhlvk 1s linear infinite;
    }
}

@keyframes rfp-comparison-spin-b-ktdgglhlvk {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* /Features/Rfp/Components/Comparison/RfpComparisonTemplatePickerDialog.razor.rz.scp.css */
.comparison-template-list[b-bjpv0exvft] {
    overflow-y: auto;
    max-height: min(70vh, 48rem);
}

.comparison-template-options[b-bjpv0exvft] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.comparison-template-options[b-bjpv0exvft]  .comparison-template-option.app-btn {
    min-height: 0;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-md);
    background: var(--wf-surface);
    color: var(--wf-text);
    text-align: left;
}

.comparison-template-options[b-bjpv0exvft]  .comparison-template-option.app-btn:hover:not(:disabled) {
    border-color: var(--wf-border-strong);
    background: var(--wf-surface-hover);
}

.comparison-template-options[b-bjpv0exvft]  .comparison-template-option--selected.app-btn {
    border-color: var(--wf-color-primary);
    box-shadow: var(--wf-shadow-sm);
}

.comparison-template-options[b-bjpv0exvft]  .comparison-template-option .app-btn__content {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
    line-height: 1.35;
    white-space: normal;
}

.comparison-template-option__indicator[b-bjpv0exvft] {
    display: inline-flex;
    width: 1.125rem;
    height: 1.125rem;
    flex: 0 0 1.125rem;
    align-items: center;
    justify-content: center;
    margin-top: 0.125rem;
    border: 1px solid var(--wf-border-strong);
    border-radius: 50%;
    color: var(--wf-color-primary);
    font-size: 0.75rem;
}

.comparison-template-option__copy[b-bjpv0exvft] {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

@media (max-width: 575.98px) {
    .comparison-template-list[b-bjpv0exvft] {
        max-height: none;
    }

    .comparison-template-options[b-bjpv0exvft]  .comparison-template-option.app-btn {
        padding-inline: 0.625rem;
    }
}
/* /Features/Rfp/Components/Comparison/VendorComparisonTable.razor.rz.scp.css */
/* ============================================================================
   Vendor comparison table.

   The surface deliberately owns its own chrome instead of leaning on Bootstrap
   table utilities (`table-bordered`, `table-light`, `table-responsive`, …):
   those classes are partially restyled by wf-ui.css and partially not, which is
   what made the header, the grid lines and the scrolling look inconsistent with
   the rest of the app. Everything below is expressed with --wf-* tokens.
   ========================================================================== */

/* ---- Wrapper & scrolling -------------------------------------------------
   Declared before the fullscreen overlay on purpose: both selectors have the
   same specificity, so the later rule wins. Fullscreen must come last. */
.comparison-table-wrapper[b-bizgqz2h96] {
    position: relative;
    max-height: 32rem;
    overflow: auto;
}

/* The table grows to the exact sum of <col> widths (max-content). This is the
   only layout that makes per-column resize *visually* track the cursor 1:1,
   because table-layout:fixed with width:100% redistributes any leftover space
   across columns and the resized handle no longer follows the mouse.
   Initial rendered widths are baselined onto each <col> from JS once the
   table mounts so the sum already equals the wrapper width (no empty space). */
.comparison-table-wrapper table[b-bizgqz2h96] {
    table-layout: fixed;
    width: max-content;
    /* Fill the wrapper whatever its width: fixed layout hands any slack back to the
       columns proportionally. This is what makes the grid follow the sidebar being
       collapsed, the window being resized, or the zoom changing, with no JS and nothing
       to fire -- the previous JS-only baseline froze the widths at first measurement and
       left a dead gutter down the right-hand side. */
    min-width: 100%;
}

/* Except mid-drag: while a column is being resized the table must stay exactly
   max-content, or the redistributed slack stops the handle tracking the cursor 1:1. */
.comparison-resizing table[b-bizgqz2h96] {
    min-width: 0;
}

/* ---- Toolbar ------------------------------------------------------------ */
.comparison-table-toolbar[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
    justify-content: flex-end;
    margin-bottom: var(--wf-space-2);
}

.comparison-table-toolbar-title[b-bizgqz2h96] {
    color: var(--wf-text);
    font-size: var(--wf-font-base-plus);
    font-weight: 700;
    margin-right: auto;
}

.comparison-table-toolbar-actions[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
}

.comparison-highlight-control[b-bizgqz2h96] {
    align-items: center;
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    display: inline-flex;
    gap: var(--wf-space-2);
    padding: 0.15rem 0.35rem 0.15rem 0.6rem;
}

.comparison-highlight-label[b-bizgqz2h96] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-xs-plus);
    font-weight: 600;
    white-space: nowrap;
}

.comparison-highlight-control[b-bizgqz2h96]  .comparison-highlight-select {
    min-width: 11rem;
}

.comparison-zoom-controls[b-bizgqz2h96] {
    align-items: center;
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    display: inline-flex;
    gap: var(--wf-space-1);
    padding: 0.15rem 0.35rem;
}

.comparison-zoom-label[b-bizgqz2h96] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-xs-plus);
    font-weight: 600;
    padding-inline: var(--wf-space-1);
}

.comparison-zoom-controls[b-bizgqz2h96]  .comparison-zoom-button {
    border-color: transparent;
    min-width: 2rem;
    padding-inline: var(--wf-space-2);
}

.comparison-zoom-controls[b-bizgqz2h96]  .comparison-zoom-value {
    font-variant-numeric: tabular-nums;
    min-width: 3.4rem;
}

/* ---- Grid --------------------------------------------------------------- */
.comparison-table-grid[b-bizgqz2h96] {
    background: var(--wf-surface);
    border-collapse: separate;
    border-spacing: 0;
    color: var(--wf-text);
    margin: 0;
}

.comparison-table-grid th[b-bizgqz2h96],
.comparison-table-grid td[b-bizgqz2h96] {
    border-bottom: 1px solid var(--wf-gray-100);
    border-right: 1px solid var(--wf-gray-100);
    font-size: calc(0.82rem * var(--comparison-zoom, 1));
    line-height: 1.25;
    padding: calc(0.34rem * var(--comparison-zoom, 1)) calc(0.4rem * var(--comparison-zoom, 1));
    vertical-align: middle;
}

.comparison-table-grid th:last-child[b-bizgqz2h96],
.comparison-table-grid td:last-child[b-bizgqz2h96] {
    border-right: 0;
}

.comparison-table-grid thead th[b-bizgqz2h96] {
    background-color: var(--wf-gray-50);
    border-bottom: 1px solid var(--wf-border);
    position: sticky;
    top: 0;
    vertical-align: middle;
    white-space: normal;
    z-index: 3;
}

.comparison-table-grid tbody tr:hover > td[b-bizgqz2h96] {
    background-color: var(--wf-blue-50);
}

.comparison-table-wrapper td[b-bizgqz2h96] {
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.comparison-cell-center[b-bizgqz2h96] {
    text-align: center;
}

.comparison-cell-middle[b-bizgqz2h96] {
    vertical-align: middle;
}

.comparison-row-label[b-bizgqz2h96] {
    background-color: var(--wf-gray-50);
    font-weight: 600;
    position: relative;
    text-align: left;
}

.comparison-row-label-head[b-bizgqz2h96] {
    background-color: var(--wf-gray-50);
}

.comparison-row-label-content[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    gap: var(--wf-space-1);
    justify-content: space-between;
    min-width: 0;
}

.comparison-row-label-text[b-bizgqz2h96] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comparison-row-label[b-bizgqz2h96]  .comparison-col-menu-btn {
    border-color: transparent;
    color: var(--wf-text-muted);
    flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    padding: 0.1rem 0.15rem;
}

.comparison-row-label[b-bizgqz2h96]  .comparison-col-menu-btn:hover,
.comparison-row-label[b-bizgqz2h96]  .comparison-col-menu-btn:focus-visible,
.comparison-row-label[b-bizgqz2h96]  .comparison-col-menu-btn-on {
    background: var(--wf-ring-primary);
    color: var(--wf-color-primary);
}

/* The swapped view has no <colgroup> and nothing resizes its columns, so it should
   simply fill the wrapper. Written against `.comparison-table-wrapper table` because
   that rule pins `width: max-content` and would otherwise win on specificity, leaving
   the swapped table hugging its content with a dead gutter beside it. */
.comparison-table-wrapper table.comparison-table-transposed[b-bizgqz2h96] {
    table-layout: auto;
    width: 100%;
}

/* ---- Money marks & the total column -------------------------------------
   The old "total cost per vendor" panel sat above the grid and cost roughly
   180px of height to repeat numbers the grid already held. The answer now sits
   on the values themselves. */
.comparison-mark[b-bizgqz2h96] {
    flex: 0 0 auto;
    font-size: calc(1rem * var(--comparison-zoom, 1));
    line-height: 1;
    vertical-align: -0.1em;
}

.comparison-mark-cheapest[b-bizgqz2h96] {
    color: var(--wf-green-600);
}

.comparison-mark-dearest[b-bizgqz2h96] {
    color: var(--wf-amber-600);
}

.comparison-table-grid td.comparison-cell-cheapest[b-bizgqz2h96] {
    background-color: var(--wf-green-50);
    box-shadow: inset 2px 0 0 var(--wf-green-500);
    font-weight: 700;
}

.comparison-table-grid td.comparison-cell-dearest[b-bizgqz2h96] {
    background-color: var(--wf-amber-50);
    box-shadow: inset 2px 0 0 var(--wf-amber-500);
}

.comparison-total-header[b-bizgqz2h96]  .comparison-col-label,
.comparison-total-cell[b-bizgqz2h96] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.comparison-total-header[b-bizgqz2h96],
.comparison-total-cell[b-bizgqz2h96] {
    border-left: 2px solid var(--wf-border);
}

.comparison-table-grid td.comparison-total-cell[b-bizgqz2h96] {
    background-color: var(--wf-gray-50);
}

.comparison-table-grid td.comparison-total-cell.comparison-cell-cheapest[b-bizgqz2h96] {
    background-color: var(--wf-green-50);
}

.comparison-table-grid td.comparison-total-cell.comparison-cell-dearest[b-bizgqz2h96] {
    background-color: var(--wf-amber-50);
}

.comparison-total-row > th[b-bizgqz2h96],
.comparison-total-row > td[b-bizgqz2h96] {
    border-top: 2px solid var(--wf-border);
}

.table-group-even > td[b-bizgqz2h96] {
    background-color: var(--wf-surface);
}

.table-group-odd > td[b-bizgqz2h96] {
    background-color: var(--wf-gray-25);
}

.vendor-group-last > td[b-bizgqz2h96] {
    border-bottom: 2px solid var(--wf-border);
}

/* Cell content is produced by RenderCell in the code-behind, so those elements
   never carry the scope attribute. They have to be reached through ::deep. */
.comparison-table-grid[b-bizgqz2h96]  .comparison-company-link {
    color: var(--wf-color-primary);
    font-weight: 700;
    text-decoration: none;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-company-link:hover {
    text-decoration: underline;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-cell-muted {
    color: var(--wf-text-muted);
    font-weight: 400;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-cell-link {
    color: var(--wf-color-primary);
    text-decoration: none;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-cell-link:hover {
    text-decoration: underline;
}

/* Emails and phone links should not line-break mid-link */
.comparison-table-grid[b-bizgqz2h96]  .comparison-cell-link {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
    white-space: nowrap;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-status-cell {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-invite-btn {
    margin-top: 0.25rem;
    min-height: 0;
    padding: 0.15rem 0.5rem;
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-star-on {
    color: var(--wf-amber-500);
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-star-off {
    color: var(--wf-gray-300);
}

.comparison-table-grid[b-bizgqz2h96]  .comparison-contact-list {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

/* Canonical status indicators in table cells stay compact. */
.comparison-table-wrapper td[b-bizgqz2h96]  .app-badge {
    white-space: nowrap;
}

/* ---- Column header ------------------------------------------------------
   One label (which sorts) plus one options button. Everything else that used
   to live here as a separate icon now lives inside ComparisonColumnMenu. */
.comparison-col-header[b-bizgqz2h96] {
    position: relative;
}

/* The label gets the whole cell width; the options button is pinned to the right
   edge so a narrow column still shows a readable heading. */
.comparison-col-header-content[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    min-width: 0;
    padding: 0 calc(1.35rem * var(--comparison-zoom, 1)) 0 calc(0.2rem * var(--comparison-zoom, 1));
    position: relative;
    z-index: 2;
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-sort-btn {
    border-color: transparent;
    border-radius: var(--wf-radius-sm);
    color: var(--wf-text-secondary);
    flex: 1 1 auto;
    min-height: calc(1.5rem * var(--comparison-zoom, 1));
    min-width: 0;
    padding: 0 0.15rem;
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-sort-btn .app-btn__content {
    gap: 0.25rem;
    min-width: 0;
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-sort-btn-active {
    color: var(--wf-color-primary);
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-sort-mark {
    flex: 0 0 auto;
    font-size: calc(0.85rem * var(--comparison-zoom, 1));
}

.comparison-col-label[b-bizgqz2h96] {
    display: block;
    font-size: calc(0.7rem * var(--comparison-zoom, 1));
    font-weight: 700;
    hyphens: manual;
    letter-spacing: 0.015em;
    line-height: 1.15;
    min-width: 0;
    overflow: hidden;
    overflow-wrap: normal;
    text-align: left;
    text-overflow: ellipsis;
    text-transform: uppercase;
    text-wrap: balance;
    user-select: none;
    white-space: normal;
    word-break: normal;
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-menu-btn {
    aspect-ratio: auto;
    border-color: transparent;
    border-radius: var(--wf-radius-sm);
    color: var(--wf-text-muted);
    height: calc(1.5rem * var(--comparison-zoom, 1));
    min-height: 0;
    min-width: 0;
    padding: 0;
    position: absolute;
    right: 0.1rem;
    top: 50%;
    transform: translateY(-50%);
    width: calc(1.2rem * var(--comparison-zoom, 1));
    z-index: 4;
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-menu-btn:hover,
.comparison-col-header[b-bizgqz2h96]  .comparison-col-menu-btn:focus-visible {
    background: var(--wf-ring-primary);
    color: var(--wf-color-primary);
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-menu-btn-on {
    background: var(--wf-ring-primary);
    color: var(--wf-color-primary);
}

.comparison-col-header[b-bizgqz2h96]  .comparison-col-menu-btn .bi {
    font-size: calc(0.95rem * var(--comparison-zoom, 1));
}

/* ---- Resizing ------------------------------------------------------------
   Column reordering is done from the column options menu ("Move left" / "Move
   right"), not by dragging: a native HTML5 drag cannot survive the Blazor
   re-render it triggers, so the old grip handle looked interactive but never
   moved anything. Resizing stays a drag because it is driven purely from JS
   (pointer capture) and never round-trips through a render. */

/* Resize handle at the right edge of each column header.
   It must stay fully inside the cell: hanging it over the border (right: -3px)
   pushed the last column's handle a couple of pixels past the wrapper, and that
   was enough to give the table a horizontal scrollbar even when every column
   already fitted on screen. */
.col-resize-handle[b-bizgqz2h96] {
    cursor: col-resize;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    user-select: none;
    width: 7px;
    z-index: 2;
}

.col-resize-handle:hover[b-bizgqz2h96],
.col-resize-handle:active[b-bizgqz2h96] {
    background: var(--wf-color-primary);
    opacity: 0.35;
}

/* ---- Excel-style hidden column marker ----------------------------------- */
.unhide-marker[b-bizgqz2h96] {
    background: repeating-linear-gradient(90deg, var(--wf-gray-200) 0 2px, transparent 2px 4px);
    border-left: 2px solid var(--wf-text-muted) !important;
    border-right: 2px solid var(--wf-text-muted) !important;
    color: var(--wf-text-muted);
    min-width: 14px;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    width: 14px;
}

.unhide-marker:hover[b-bizgqz2h96] {
    background: var(--wf-blue-200);
    color: var(--wf-color-primary);
}

.unhide-marker-cell[b-bizgqz2h96] {
    background-color: var(--wf-gray-50);
    border-left: 2px solid var(--wf-text-muted) !important;
    border-right: 2px solid var(--wf-text-muted) !important;
    min-width: 14px;
    padding: 0 !important;
    width: 14px;
}

.unhide-marker-cell:hover[b-bizgqz2h96] {
    background-color: var(--wf-blue-200);
}

.unhide-marker[b-bizgqz2h96]  .unhide-marker-action,
.unhide-marker-cell[b-bizgqz2h96]  .unhide-marker-action {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--wf-text-muted);
    min-height: 2rem;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.unhide-marker[b-bizgqz2h96]  .unhide-marker-action .bi,
.unhide-marker-cell[b-bizgqz2h96]  .unhide-marker-action .bi {
    font-size: 0.85rem;
    transform: rotate(90deg);
}

/* ---- Column widths ------------------------------------------------------ */
.comparison-col-company[b-bizgqz2h96] {
    width: calc(150px * var(--comparison-zoom, 1));
}

.comparison-col-contact[b-bizgqz2h96] {
    width: calc(150px * var(--comparison-zoom, 1));
}

.comparison-col-number[b-bizgqz2h96] {
    width: calc(112px * var(--comparison-zoom, 1));
}

.comparison-col-standard[b-bizgqz2h96] {
    width: calc(124px * var(--comparison-zoom, 1));
}

.comparison-col-hidden-gap[b-bizgqz2h96] {
    width: 14px;
}

.comparison-col-actions[b-bizgqz2h96] {
    width: calc(42px * var(--comparison-zoom, 1));
}

.comparison-row-actions-header[b-bizgqz2h96],
.comparison-row-actions-cell[b-bizgqz2h96] {
    text-align: center;
}

.comparison-row-actions-cell[b-bizgqz2h96]  .comparison-row-delete-btn,
.comparison-transposed-vendor-heading[b-bizgqz2h96]  .comparison-row-delete-btn {
    min-height: 0;
    min-width: 0;
    padding: 0.2rem 0.35rem;
}

.comparison-transposed-vendor-heading[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    gap: var(--wf-space-1);
    justify-content: center;
}

/* ---- Company cell ------------------------------------------------------- */
.comparison-company-td[b-bizgqz2h96] {
    font-weight: 700;
}

.comparison-company-cell[b-bizgqz2h96] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.comparison-company-main[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    gap: 0.25rem;
    min-width: 0;
}

.comparison-company-link[b-bizgqz2h96] {
    color: var(--wf-color-primary);
    font-weight: 700;
    text-decoration: none;
}

.comparison-company-link:hover[b-bizgqz2h96] {
    text-decoration: underline;
}

.comparison-company-note[b-bizgqz2h96] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
}

.comparison-company-main[b-bizgqz2h96]  .company-contact-btn,
[b-bizgqz2h96] .comparison-contact-btn {
    min-height: 0;
    padding: 0;
}

.comparison-company-main[b-bizgqz2h96]  .company-contact-btn .bi {
    font-size: calc(1rem * var(--comparison-zoom, 1));
}

/* ---- Inline editing -----------------------------------------------------
   The editor itself belongs to ComparisonValueCell and is styled there. Only the
   reveal-on-hover rule stays here, because it hangs off this component's <td>. */
[b-bizgqz2h96] .comparison-edit-btn {
    min-height: 0;
    opacity: 0;
    padding: 0;
}

td:hover[b-bizgqz2h96]  .comparison-edit-btn,
[b-bizgqz2h96] .comparison-edit-btn:focus-visible {
    opacity: 1;
}

/* ---- Filters, notes and empty states ------------------------------------ */
.comparison-active-filters[b-bizgqz2h96] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wf-space-2);
    margin-bottom: var(--wf-space-2);
}

.comparison-active-filters-label[b-bizgqz2h96] {
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
    font-weight: 600;
}

[b-bizgqz2h96] .comparison-inline-action {
    min-height: 0;
    padding-inline: 0.15rem;
}

.comparison-note[b-bizgqz2h96] {
    align-items: baseline;
    background: var(--wf-blue-50);
    border: 1px solid var(--wf-blue-200);
    border-radius: var(--wf-radius);
    color: var(--wf-text-secondary);
    display: flex;
    font-size: var(--wf-font-sm);
    gap: var(--wf-space-2);
    margin-bottom: var(--wf-space-2);
    padding: var(--wf-space-2) var(--wf-space-3);
}

.comparison-no-results[b-bizgqz2h96] {
    color: var(--wf-text-muted);
    padding: var(--wf-space-6) var(--wf-space-3) !important;
    text-align: center;
}

.comparison-empty[b-bizgqz2h96] {
    background: var(--wf-gray-25);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    color: var(--wf-text-muted);
    padding: var(--wf-space-6) var(--wf-space-4);
    text-align: center;
}

.comparison-empty-icon[b-bizgqz2h96] {
    display: block;
    font-size: 2rem;
    margin-bottom: var(--wf-space-2);
}

.comparison-empty-text[b-bizgqz2h96] {
    margin: 0;
}

/* ---- Zoom levels -------------------------------------------------------- */
.comparison-zoom-80[b-bizgqz2h96] { --comparison-zoom: 0.8; }
.comparison-zoom-90[b-bizgqz2h96] { --comparison-zoom: 0.9; }
.comparison-zoom-100[b-bizgqz2h96] { --comparison-zoom: 1; }
.comparison-zoom-110[b-bizgqz2h96] { --comparison-zoom: 1.1; }
.comparison-zoom-120[b-bizgqz2h96] { --comparison-zoom: 1.2; }
.comparison-zoom-130[b-bizgqz2h96] { --comparison-zoom: 1.3; }

/* ---- Fullscreen overlay -------------------------------------------------
   MUST stay last: `.comparison-table-wrapper` above shares its specificity, so
   whichever rule comes later wins. When the base rule was declared afterwards
   its `position: relative` silently beat `position: fixed` and the full-screen
   button did nothing. */
.comparison-fullscreen-overlay[b-bizgqz2h96] {
    background: var(--wf-surface);
    box-shadow: 0 0 40px var(--wf-shadow-overlay);
    height: 100dvh;
    left: 0;
    max-height: none;
    overflow: auto;
    padding: var(--wf-space-3) var(--wf-space-4) var(--wf-space-4);
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: calc(var(--bs-zindex-modal, 1050) - 10);
}

.comparison-fullscreen-overlay .comparison-table-toolbar[b-bizgqz2h96] {
    background: var(--wf-surface);
    border-bottom: 1px solid var(--wf-border);
    padding: var(--wf-space-1) 0 var(--wf-space-3);
    position: sticky;
    top: 0;
    z-index: 30;
}

.comparison-fullscreen-overlay .comparison-table-grid thead th[b-bizgqz2h96] {
    top: 3.25rem;
}

.comparison-fullscreen-overlay table[b-bizgqz2h96] {
    width: max-content;
}

/* Contacts modal renders as sibling; keep above overlay */
.vendor-contacts-modal[b-bizgqz2h96] {
    z-index: calc(var(--bs-zindex-modal, 1050) + 10);
}
/* /Features/Rfp/Components/Comparison/VendorContactsModal.razor.rz.scp.css */
.comparison-vendor-contacts-backdrop[b-5ck1x1ha6p] {
    display: block;
    background: color-mix(in srgb, var(--wf-gray-900) 45%, transparent);
}
/* /Features/Rfp/Components/RfpAttachmentTree.razor.rz.scp.css */
.rfp-attachment-tree[b-yends0b548] {
    width: 100%;
}

.rfp-attachment-tree .tree-node[b-yends0b548] {
    color: var(--bs-body-color);
}

.rfp-attachment-tree .tree-node:hover[b-yends0b548] {
    color: var(--bs-primary);
}

.rfp-attachment-tree .tree-node--root[b-yends0b548] {
    margin-bottom: 0.35rem;
}

.rfp-attachment-tree .tree-children[b-yends0b548] {
    border-left: 1px solid var(--bs-border-color);
    margin-left: 0.45rem;
    padding-left: 0.65rem;
}

.rfp-attachment-tree .tree-branch[b-yends0b548] {
    margin-bottom: 0.35rem;
}

.rfp-attachment-tree .tree-files[b-yends0b548] {
    border-left: 1px dashed var(--bs-border-color-translucent);
    margin-top: 0.35rem;
    margin-left: 0.65rem;
    padding-left: 0.65rem;
}

.rfp-attachment-tree .tree-file-row[b-yends0b548] {
    background: var(--bs-light-bg-subtle);
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 0.4rem;
    margin-bottom: 0.35rem;
    padding: 0.45rem 0.55rem;
}

.rfp-attachment-tree .tree-file-link[b-yends0b548] {
    color: var(--bs-body-color);
    max-width: 260px;
}

.rfp-attachment-tree .tree-file-link:hover[b-yends0b548] {
    color: var(--bs-primary);
}

.rfp-attachment-tree .tree-chevron[b-yends0b548] {
    width: 0.9rem;
}

.rfp-attachment-tree .min-width-0[b-yends0b548] {
    min-width: 0;
}

@media (max-width: 768px) {
    .rfp-attachment-tree .tree-file-link[b-yends0b548] {
        max-width: 180px;
    }
}
/* /Features/Rfp/Components/Shared/RfpAttachmentSelectionPanel.razor.rz.scp.css */
.rfp-attachment-browser[b-symn7av9sz] {
    min-height: 160px;
}

.rfp-attachment-selection-list[b-symn7av9sz] {
    overflow-y: auto;
    max-height: 200px;
}
/* /Features/Rfp/Components/Shared/RfpDetailHeader.razor.rz.scp.css */
.rfp-id-tag[b-ufn1d97k53] {
    color: var(--wf-text-muted);
    font-family: var(--wf-font-mono);
    font-size: 0.7rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
}
/* /Features/Rfp/Components/Shared/RfpProgressBar.razor.rz.scp.css */
.rfp-progress-bar[b-ht6mbzj7dt] {
    padding: 0.5rem 0.75rem;
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface-subtle);
}

.rfp-progress-step[b-ht6mbzj7dt] {
    white-space: nowrap;
}

.rfp-progress-step .step-dot[b-ht6mbzj7dt] {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--wf-gray-300);
    color: var(--wf-text-secondary);
    font-size: 0.7rem;
    font-weight: 600;
}

.rfp-progress-step.completed .step-dot[b-ht6mbzj7dt] {
    background: var(--wf-color-success);
    color: var(--wf-text-on-accent);
}

.rfp-progress-step.current .step-dot[b-ht6mbzj7dt] {
    border: 2px solid var(--wf-color-primary);
    background: var(--wf-surface);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--wf-color-primary) 15%, transparent);
    color: var(--wf-color-primary);
}

.rfp-progress-step.pending .step-dot[b-ht6mbzj7dt] {
    background: var(--wf-gray-200);
    color: var(--wf-text-muted);
}

.step-line[b-ht6mbzj7dt] {
    min-width: 20px;
    height: 2px;
    background: var(--wf-gray-300);
}

.step-line.completed[b-ht6mbzj7dt] {
    background: var(--wf-color-success);
}

.step-line.active[b-ht6mbzj7dt] {
    background: linear-gradient(to right, var(--wf-color-success), var(--wf-gray-300));
}

.substatus-inline[b-ht6mbzj7dt] {
    color: var(--wf-color-primary);
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 576px) {
    .rfp-progress-step .step-label[b-ht6mbzj7dt],
    .substatus-inline[b-ht6mbzj7dt] {
        display: none;
    }
}
/* /Features/Rfp/Components/VendorSelection/VendorSelectionContactModal.razor.rz.scp.css */
.vendor-contact-modal-backdrop[b-hg7mwxlvsl] {
    display: block;
    background: color-mix(in srgb, var(--wf-gray-900) 45%, transparent);
}
/* /Features/Rfp/Pages/RfpCreate/RfpCreate.razor.rz.scp.css */
/* ::deep because EditForm renders the <form> without the scope attribute */
[b-1soy5uij38] .rfp-create-form {
    margin: 0 auto;
    max-width: 1080px;
}

.rfp-create-step-card[b-1soy5uij38],
[b-1soy5uij38] .rfp-create-step-card {
    border: 1px solid var(--wf-border);
    border-radius: 14px;
    overflow: hidden;
}

.rfp-create-step-header[b-1soy5uij38],
[b-1soy5uij38] .rfp-create-vendor-header {
    align-items: center;
    background: var(--wf-gray-25);
    display: flex;
    gap: .65rem;
    min-height: 48px;
    padding: .55rem .9rem;
}

.rfp-create-step-header h5[b-1soy5uij38],
[b-1soy5uij38] .rfp-create-vendor-title h5 {
    font-size: 1rem;
    line-height: 1.3;
}

.rfp-create-step-card .card-body[b-1soy5uij38] {
    padding: .9rem;
}

.rfp-create-step-header small[b-1soy5uij38],
[b-1soy5uij38] .rfp-create-vendor-title small {
    color: var(--wf-text-muted);
    display: block;
    font-size: .78rem;
    margin-top: .12rem;
}

.rfp-create-step-number[b-1soy5uij38],
[b-1soy5uij38] .rfp-create-step-number {
    align-items: center;
    background: var(--wf-blue-100);
    border-radius: 10px;
    color: var(--wf-blue-800);
    display: inline-flex;
    flex: 0 0 28px;
    font-size: .8rem;
    font-weight: 700;
    height: 28px;
    justify-content: center;
}

[b-1soy5uij38] .rfp-create-vendor-header {
    background: var(--wf-blue-50);
    border-bottom-color: var(--wf-blue-200);
    justify-content: space-between;
}

[b-1soy5uij38] .rfp-create-vendor-title {
    align-items: center;
    display: flex;
    gap: .7rem;
    min-width: 0;
}

[b-1soy5uij38] .rfp-create-vendor-title > span:nth-child(2) {
    min-width: 0;
}

[b-1soy5uij38] .rfp-create-vendor-actions {
    display: flex;
    gap: .5rem;
}

[b-1soy5uij38] .rfp-create-vendor-actions .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 40px;
}

.rfp-create-advanced[b-1soy5uij38] {
    border: 1px solid var(--wf-border);
    border-radius: 14px;
    overflow: hidden;
}

.rfp-create-advanced summary[b-1soy5uij38] {
    cursor: pointer;
    list-style: none;
    min-height: 60px;
    padding: .8rem 1rem;
}

.rfp-create-advanced summary[b-1soy5uij38]::-webkit-details-marker {
    display: none;
}

.rfp-create-advanced summary > span:nth-child(2)[b-1soy5uij38] {
    display: flex;
    flex-direction: column;
}

.rfp-create-advanced summary small[b-1soy5uij38] {
    color: var(--wf-text-muted);
    font-size: .75rem;
    font-weight: 450;
    margin-top: .12rem;
}

.rfp-create-advanced-icon[b-1soy5uij38] {
    align-items: center;
    background: var(--wf-gray-100);
    border-radius: 9px;
    color: var(--wf-text-secondary);
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
}

.rfp-create-advanced-chevron[b-1soy5uij38] {
    color: var(--wf-text-subtle);
    transition: transform .16s ease;
}

.rfp-create-advanced[open] .rfp-create-advanced-chevron[b-1soy5uij38] {
    transform: rotate(90deg);
}

.rfp-create-actions[b-1soy5uij38] {
    align-items: center;
    backdrop-filter: blur(10px);
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: 14px;
    bottom: .75rem;
    box-shadow: 0 10px 30px var(--wf-shadow-overlay);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding: .75rem;
    position: sticky;
    z-index: 20;
}

.rfp-create-action-copy[b-1soy5uij38] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rfp-create-action-copy strong[b-1soy5uij38] {
    color: var(--wf-text);
    font-size: .84rem;
}

.rfp-create-action-copy small[b-1soy5uij38] {
    color: var(--wf-text-muted);
    font-size: .74rem;
    line-height: 1.35;
    margin-top: .1rem;
}

.rfp-create-action-buttons[b-1soy5uij38] {
    display: flex;
    flex: 0 0 auto;
    gap: .5rem;
}

.rfp-create-action-buttons .btn[b-1soy5uij38] {
    min-height: 44px;
}

@media (max-width: 767.98px) {
    .rfp-create-step-header[b-1soy5uij38],
    [b-1soy5uij38] .rfp-create-vendor-header {
        align-items: flex-start;
    }

    [b-1soy5uij38] .rfp-create-vendor-header {
        flex-direction: column;
    }

    [b-1soy5uij38] .rfp-create-vendor-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .rfp-create-actions[b-1soy5uij38] {
        align-items: stretch;
        bottom: .35rem;
        flex-direction: column;
    }

    .rfp-create-action-buttons[b-1soy5uij38] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .rfp-create-action-buttons .btn[b-1soy5uij38] {
        padding-left: .55rem;
        padding-right: .55rem;
    }
}

@media (max-width: 420px) {
    [b-1soy5uij38] .rfp-create-vendor-actions,
    .rfp-create-action-buttons[b-1soy5uij38] {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rfp-create-advanced-chevron[b-1soy5uij38] {
        transition: none;
    }
}
.rfp-create-meta-label[b-1soy5uij38] {
    font-size: 0.7rem;
    letter-spacing: 0.5px;
}
/* /Features/Rfp/Pages/RfpCreate/RfpPublishReviewDialog.razor.rz.scp.css */
.rfp-publish-summary[b-84z4gb9vp5] {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.rfp-publish-summary > div[b-84z4gb9vp5] {
    background: var(--wf-gray-25);
    border: 1px solid var(--wf-border);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: .75rem;
}

.rfp-publish-summary span[b-84z4gb9vp5] {
    color: var(--wf-text-muted);
    font-size: .75rem;
}

.rfp-publish-summary strong[b-84z4gb9vp5] {
    color: var(--wf-text);
    font-size: 1.35rem;
}

.rfp-publish-recipient-table[b-84z4gb9vp5] {
    border: 1px solid var(--wf-border);
    border-radius: 10px;
    max-height: 340px;
}

.rfp-publish-recipient-table td > span[b-84z4gb9vp5],
.rfp-publish-recipient-table td > small[b-84z4gb9vp5] {
    display: block;
    font-size: .78rem;
}

.rfp-publish-recipient-table td > small[b-84z4gb9vp5] {
    margin-top: .25rem;
}

.rfp-publish-conflict-actions[b-84z4gb9vp5] {
    display: flex;
    margin-top: .5rem;
}

@media (max-width: 767.98px) {
    .rfp-publish-summary[b-84z4gb9vp5] {
        grid-template-columns: 1fr;
    }
}
/* /Features/Rfp/Pages/RfpDetail/RfpDetail.razor.rz.scp.css */
.rfp-specifications-preview[b-2bsqxnc9tk] {
    overflow-y: auto;
    max-height: 200px;
    white-space: pre-wrap;
}

.rfp-description-preview[b-2bsqxnc9tk] {
    max-width: 300px;
}

.alert[b-2bsqxnc9tk]  .rfp-alert-dismiss {
    margin-block: -0.25rem;
    margin-left: auto;
}
/* /Features/Rfp/Pages/RfpDetail/RfpDetailOverviewActionsPanel.razor.rz.scp.css */
/* A count that lives inside a control is not a standalone chip: it has to sit on the
   button's line box rather than impose its own height, so it is owned here instead of
   reusing AppBadge or .wf-count. */
.overview-action__count[b-ibnvd7uq0c] {
    display: inline-flex;
    min-width: 1.1rem;
    align-items: center;
    justify-content: center;
    margin-inline-start: 0.35rem;
    padding-inline: 0.35rem;
    border-radius: 999px;
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
    font-size: var(--wf-font-xxs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1rem;
}
/* /Features/Rfp/Pages/RfpDetail/_sections/RfpVendorInvitationsSection.razor.rz.scp.css */
/* One stacking rule for every cell in this table. Each column used to invent its own
   flex container, gap and text sizes, so the same kind of value looked different
   depending on which column it landed in. */
.rfp-cell[b-y6t1di2iwz] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

/* Supporting detail: dates, addresses, who the row is waiting on. Always one step
   below the value it belongs to, never below the status chip beside it. */
.rfp-cell__caption[b-y6t1di2iwz] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-caption);
    line-height: 1.35;
    white-space: nowrap;
}

/* The buyer's own outstanding work is the only thing this table shouts about. */
.rfp-cell__caption--attention[b-y6t1di2iwz] {
    color: var(--wf-amber-800);
    font-weight: 600;
}

/* A long address must not push a row to three lines; the full value stays in the
   title attribute. */
.rfp-cell__email[b-y6t1di2iwz] {
    display: block;
    overflow: hidden;
    max-width: 15rem;
    text-overflow: ellipsis;
}

/* DataTable lets its cells wrap below 992px. These spans sit inside the cell, so
   without this they keep their own nowrap and win, which forced more sideways
   scrolling than before. The address stops being ellipsised too: on touch there is
   no hover, so a clipped address is simply unreadable rather than abbreviated. */
@media (max-width: 992px) {
    .rfp-cell__caption[b-y6t1di2iwz] {
        white-space: normal;
    }

    .rfp-cell__email[b-y6t1di2iwz] {
        /* Breaking anywhere also lets the column collapse to nothing, which wrapped a
           short address over four lines while the row had space to spare. The floor
           keeps the column near its intended share. */
        min-width: 11rem;
        max-width: 100%;
        overflow: visible;
        overflow-wrap: anywhere;
        text-overflow: clip;
    }
}

.rfp-invitation-link[b-y6t1di2iwz] {
    color: inherit;
    cursor: pointer;
    text-decoration: none;
}

/* The vendor name reads as body text until you point at it, matching every other
   listing in the app. */
.rfp-invitation-link:hover .wf-cell-primary[b-y6t1di2iwz],
.rfp-invitation-link:focus-visible .wf-cell-primary[b-y6t1di2iwz] {
    color: var(--wf-color-primary);
    text-decoration: underline;
}

.rfp-invitation-link:focus-visible[b-y6t1di2iwz] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
}

.rfp-invitation-option[b-y6t1di2iwz] {
    cursor: pointer;
}

.rfp-invitations-modal-backdrop[b-y6t1di2iwz] {
    background-color: color-mix(in srgb, var(--wf-gray-900) 50%, transparent);
}

/* The winning row. Bootstrap's .table-success washed the whole row in a green strong
   enough to fight the muted text on it, and the row already carries an "Awarded" chip.
   A faint tint plus the accent edge this app uses for rows that need attention says the
   same thing without drowning the cells. Reaches through ::deep because the row is
   rendered by DataTable. */
[b-y6t1di2iwz] .rfp-row--awarded {
    --bs-table-bg: var(--wf-green-50);
}

[b-y6t1di2iwz] .rfp-row--awarded > td:first-child {
    box-shadow: inset 3px 0 0 0 var(--wf-color-success);
}
/* /Features/Rfp/Pages/RfpDetail/_sections/VendorInvitationOpenItemsDialog.razor.rz.scp.css */
.vendor-open-items-kicker[b-vlu0sjljhw] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vendor-open-items-layout[b-vlu0sjljhw] {
    min-height: 100%;
    background: var(--wf-gray-25);
}

.vendor-open-items-loading[b-vlu0sjljhw],
.vendor-open-items-error[b-vlu0sjljhw],
.vendor-open-items-empty[b-vlu0sjljhw] {
    display: grid;
    min-height: 18rem;
    align-content: center;
    justify-items: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--wf-text-muted);
    text-align: center;
}

.vendor-open-items-loading p[b-vlu0sjljhw],
.vendor-open-items-error p[b-vlu0sjljhw],
.vendor-open-items-empty p[b-vlu0sjljhw] { margin: 0; }

.vendor-open-items-toolbar[b-vlu0sjljhw] {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: 1rem;
    border-bottom: 1px solid var(--wf-border);
    background: var(--wf-surface);
}

.vendor-open-items-filters[b-vlu0sjljhw] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.vendor-open-items-filters[b-vlu0sjljhw]  .vendor-open-items-filter .app-btn__content {
    width: 100%;
    justify-content: center;
}

.vendor-open-items-body[b-vlu0sjljhw] { min-width: 0; }

.vendor-open-items-list[b-vlu0sjljhw] {
    display: grid;
    background: var(--wf-surface);
}

.vendor-open-items-list[b-vlu0sjljhw]  .vendor-open-item-button {
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--wf-border);
    border-radius: 0;
    color: inherit;
    text-align: start;
}

.vendor-open-items-list[b-vlu0sjljhw]  .vendor-open-item-button .app-btn__frame,
.vendor-open-items-list[b-vlu0sjljhw]  .vendor-open-item-button .app-btn__content {
    display: block;
    width: 100%;
}

.vendor-open-items-list[b-vlu0sjljhw]  .vendor-open-item-button:hover:not(:disabled) {
    background: var(--wf-blue-50);
}

.vendor-open-item[b-vlu0sjljhw] {
    display: grid;
    gap: 0.75rem;
    width: 100%;
    padding: 1rem 1.25rem;
}

.vendor-open-item__heading[b-vlu0sjljhw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.vendor-open-items-title[b-vlu0sjljhw] {
    min-width: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.vendor-open-item__heading[b-vlu0sjljhw]  .vendor-open-items-status {
    min-width: 4.5rem;
    justify-content: center;
}

.vendor-open-item__metadata[b-vlu0sjljhw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.vendor-open-item__metadata[b-vlu0sjljhw]  .vendor-open-items-type {
    font-size: var(--wf-font-xs);
}

.vendor-open-items-date[b-vlu0sjljhw],
.vendor-open-items-email[b-vlu0sjljhw] {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
}

.vendor-open-item__contact[b-vlu0sjljhw] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.7rem;
    padding: 0.7rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    background: var(--wf-surface-subtle);
}

.vendor-open-items-avatar[b-vlu0sjljhw] {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
    font-size: var(--wf-font-xs-plus);
    font-weight: 700;
}

.vendor-open-items-contact[b-vlu0sjljhw] {
    min-width: 0;
    text-align: start;
}

.vendor-open-items-contact-name[b-vlu0sjljhw],
.vendor-open-items-email[b-vlu0sjljhw] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vendor-open-items-contact-name[b-vlu0sjljhw] {
    color: var(--wf-text);
    font-size: var(--wf-font-xs-plus);
    font-weight: 700;
}

.vendor-open-items-position[b-vlu0sjljhw] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    font-weight: 400;
}

@media (max-width: 575.98px) {
    .vendor-open-items-toolbar[b-vlu0sjljhw] { padding: 0.75rem; }

    .vendor-open-items-filters[b-vlu0sjljhw] {
        gap: 0.35rem;
    }

    .vendor-open-items-filters[b-vlu0sjljhw]  .vendor-open-items-filter {
        min-width: 0;
        padding-inline: 0.5rem;
    }

    .vendor-open-items-filters[b-vlu0sjljhw]  .vendor-open-items-filter .app-badge {
        display: none;
    }

    .vendor-open-item[b-vlu0sjljhw] { padding-inline: 1rem; }

    .vendor-open-item__heading[b-vlu0sjljhw] { gap: 0.65rem; }
}
/* /Features/Rfp/Pages/RfpDetail/_sections/VendorWorkflow/VendorWorkflowActivityPanel.razor.rz.scp.css */
.wf-note-card[b-opgzsopd3o] {
    display: flex;
    flex-direction: column;
    gap: 0.62rem;
    margin-bottom: 0.75rem;
    padding: 0.72rem 0.8rem;
    border-radius: 0.95rem;
    border: 1px solid var(--wf-border);
    background: linear-gradient(180deg, var(--wf-surface) 0%, var(--wf-gray-25) 100%);
}

.wf-note-head[b-opgzsopd3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
}

.wf-note-copy[b-opgzsopd3o] {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.wf-note-eyebrow[b-opgzsopd3o] {
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bs-gray-500, var(--wf-text-muted));
}

.wf-note-title[b-opgzsopd3o] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--bs-body-color, var(--wf-text));
}

.wf-note-text[b-opgzsopd3o] {
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--bs-gray-700, var(--wf-text-secondary));
}

.wf-note-head[b-opgzsopd3o]  .wf-note-indicator {
    font-size: 0.67rem;
}

.wf-note-actions[b-opgzsopd3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.wf-note-status[b-opgzsopd3o] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--wf-green-800);
}

.wf-note-status.is-idle[b-opgzsopd3o] {
    color: var(--bs-gray-600, var(--wf-text-muted));
    font-weight: 500;
}

.wf-note-count[b-opgzsopd3o] {
    font-size: 0.72rem;
    color: var(--bs-gray-600, var(--wf-text-muted));
}

.wf-timeline[b-opgzsopd3o] {
    position: relative;
}

.wf-timeline-group[b-opgzsopd3o] {
    margin-bottom: 1rem;
}

.wf-timeline-meta[b-opgzsopd3o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding-bottom: 0.375rem;
    margin-bottom: 0.25rem;
}

.wf-timeline-meta-separator[b-opgzsopd3o] {
    color: var(--bs-gray-400, var(--wf-border-hover));
    font-size: 0.75rem;
    line-height: 1;
}

.wf-timeline-item[b-opgzsopd3o] {
    display: flex;
    gap: 0.75rem;
    padding: 0.375rem 0;
    position: relative;
}

.wf-timeline-item[b-opgzsopd3o]::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 1.25rem;
    bottom: -0.375rem;
    width: 1px;
    background: var(--bs-border-color, var(--wf-border));
}

.wf-timeline-item:last-child[b-opgzsopd3o]::before {
    display: none;
}

.wf-timeline-dot[b-opgzsopd3o] {
    width: 11px;
    height: 11px;
    min-width: 11px;
    border-radius: 50%;
    margin-top: 0.25rem;
    z-index: 1;
}

.dot-primary[b-opgzsopd3o] { background: var(--bs-primary, var(--wf-color-primary)); }
.dot-success[b-opgzsopd3o] { background: var(--bs-success, var(--wf-green-600)); }
.dot-warning[b-opgzsopd3o] { background: var(--bs-warning, var(--wf-amber-400)); }
.dot-muted[b-opgzsopd3o] { background: var(--bs-gray-400, var(--wf-border-hover)); }
.dot-default[b-opgzsopd3o] { background: var(--bs-gray-500, var(--wf-text-subtle)); }

.wf-timeline-content[b-opgzsopd3o] {
    flex: 1;
    min-width: 0;
}

.wf-timeline-content[b-opgzsopd3o]  .wf-timeline-detail-toggle {
    min-height: 0;
    justify-content: flex-start;
    margin-top: 0.25rem;
    padding: 0;
    color: var(--wf-text-muted);
    line-height: 1.4;
    text-align: start;
    white-space: normal;
}

.wf-timeline-content[b-opgzsopd3o]  .wf-timeline-detail-toggle:hover {
    color: var(--wf-color-primary);
}

.wf-timeline-content[b-opgzsopd3o]  .vendor-workflow-party-indicator {
    font-size: 0.65rem;
}

@media (max-width: 767.98px) {
    .wf-note-head[b-opgzsopd3o],
    .wf-note-actions[b-opgzsopd3o] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Features/Rfp/Pages/RfpDetail/_sections/VendorWorkflow/VendorWorkflowDrawer.razor.rz.scp.css */

    /* GöÇGöÇGöÇ Drawer GöÇGöÇGöÇ */
.vendor-workflow-shell[b-kr4z4xbpi2] {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}

    .wf-drawer-kicker[b-kr4z4xbpi2] {
        font-size: 0.67rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--bs-gray-500, var(--wf-text-subtle));
    }

    .wf-drawer-status[b-kr4z4xbpi2] {
        padding: 0.65rem 1.25rem;
        border-bottom: 1px solid var(--bs-border-color, var(--wf-border));
        background: linear-gradient(180deg, var(--wf-gray-25) 0%, var(--wf-gray-50) 100%);
    }

    .wf-status-line[b-kr4z4xbpi2] {
        display: flex;
        align-items: center;
        gap: 0.55rem;
    }

    .wf-status-dot[b-kr4z4xbpi2] {
        width: 10px;
        height: 10px;
        min-width: 10px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .wf-status-dot.dot-waiting[b-kr4z4xbpi2] { background: var(--bs-warning, var(--wf-amber-400)); }
    .wf-status-dot.dot-action[b-kr4z4xbpi2] { background: var(--bs-primary, var(--wf-color-primary)); }
    .wf-status-dot.dot-success[b-kr4z4xbpi2] { background: var(--bs-success, var(--wf-green-600)); }
    .wf-status-dot.dot-danger[b-kr4z4xbpi2] { background: var(--bs-danger, var(--wf-color-danger)); }
    .wf-status-dot.dot-muted[b-kr4z4xbpi2] { background: var(--bs-gray-400, var(--wf-border-hover)); }

    .wf-status-content[b-kr4z4xbpi2] {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        min-width: 0;
    }

    .wf-status-step[b-kr4z4xbpi2] {
        font-size: 0.82rem;
        font-weight: 700;
        color: var(--bs-body-color, var(--wf-text));
        line-height: 1.2;
    }

    .wf-status-note[b-kr4z4xbpi2] {
        font-size: 0.75rem;
        font-weight: 500;
        color: var(--bs-gray-600, var(--wf-text-muted));
        line-height: 1.3;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs {
        display: flex;
        flex: 1;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        background: var(--bs-body-bg, var(--wf-surface));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs .app-tabs__list {
        flex: 0 0 auto;
        gap: 0;
        border-bottom: 1px solid var(--bs-border-color, var(--wf-border));
        background: var(--bs-body-bg, var(--wf-surface));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs .app-tabs__tab {
        flex: 1 1 0;
        padding: 0.625rem 1rem;
        background: none;
        border: none;
        border-bottom: 2px solid transparent;
        color: var(--bs-gray-600);
        font-size: 0.8125rem;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.15s;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs .app-tabs__tab:hover:not(:disabled) {
        color: var(--bs-primary, var(--wf-color-primary));
        background: var(--bs-gray-100, var(--wf-gray-25));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs .app-tabs__tab--selected {
        color: var(--bs-primary, var(--wf-color-primary));
        border-bottom-color: var(--bs-primary, var(--wf-color-primary));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-drawer-tabs .app-tabs__panel {
        display: flex;
        flex: 1;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        padding-top: 0;
    }

    .wf-drawer-body[b-kr4z4xbpi2] {
        flex: 1;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 1.25rem;
    }

    .wf-guidance-card[b-kr4z4xbpi2] {
        display: flex;
        gap: 0.875rem;
        align-items: flex-start;
        padding: 0.95rem 1rem;
        margin-bottom: 1rem;
        border-radius: 0.9rem;
        background: linear-gradient(135deg, var(--wf-blue-50), var(--wf-teal-50));
        border: 1px solid var(--wf-ring-primary);
    }

    .wf-guidance-icon[b-kr4z4xbpi2] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        background: var(--wf-ring-primary);
        color: var(--bs-primary, var(--wf-color-primary));
        flex-shrink: 0;
    }

    .wf-guidance-title[b-kr4z4xbpi2] {
        font-size: 0.9rem;
        font-weight: 700;
        color: var(--bs-body-color, var(--wf-text));
        margin-bottom: 0.2rem;
    }

    .wf-guidance-text[b-kr4z4xbpi2] {
        font-size: 0.8rem;
        line-height: 1.5;
        color: var(--bs-gray-700, var(--wf-text-secondary));
    }

    /* GöÇGöÇGöÇ Action Buttons GöÇGöÇGöÇ */
    .wf-action-section h6.wf-section-label[b-kr4z4xbpi2] {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--bs-gray-500);
        margin-bottom: 0.25rem;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 0.15rem;
        column-gap: 0.5rem;
        width: 100%;
        padding: 0.52rem 0.72rem;
        border-radius: 0.45rem;
        border: 1px solid transparent;
        font-size: 0.78rem;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.15s;
        text-align: left;
        background: none;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn .app-btn__content {
        justify-content: flex-start;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn small.d-block {
        flex-basis: 100%;
        margin-left: calc(1rem + 0.5rem);
    }

    .wf-action-state[b-kr4z4xbpi2] {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
        margin-bottom: 0.65rem;
        padding: 0.72rem 0.8rem;
        border: 1px solid var(--wf-ring-primary);
        border-radius: 0.75rem;
        background: linear-gradient(180deg, var(--wf-blue-50), var(--wf-surface));
    }

    .wf-action-state-head[b-kr4z4xbpi2] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .wf-action-state-title[b-kr4z4xbpi2] {
        font-size: 0.82rem;
        font-weight: 700;
        color: var(--bs-body-color, var(--wf-text));
        margin-bottom: 0.1rem;
    }

    .wf-action-state-text[b-kr4z4xbpi2] {
        font-size: 0.73rem;
        line-height: 1.3;
        color: var(--bs-gray-700, var(--wf-text-secondary));
    }

    .wf-action-state-chip[b-kr4z4xbpi2] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.28rem 0.6rem;
        border-radius: 999px;
        background: var(--wf-blue-50);
        border: 1px solid var(--wf-blue-200);
        color: var(--wf-blue-700);
        font-size: 0.72rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .wf-action-metrics[b-kr4z4xbpi2] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.42rem;
    }

    .wf-action-metric[b-kr4z4xbpi2] {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        min-width: 96px;
        padding: 0.42rem 0.5rem;
        border-radius: 0.62rem;
        background: var(--wf-surface);
        border: 1px solid var(--wf-border);
    }

    .wf-action-metric-label[b-kr4z4xbpi2] {
        font-size: 0.67rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--bs-gray-500, var(--wf-text-muted));
    }

    .wf-action-metric-value[b-kr4z4xbpi2] {
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--bs-body-color, var(--wf-text));
        line-height: 1.3;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-primary {
        background: var(--bs-primary, var(--wf-color-primary));
        color: var(--wf-surface);
        border-color: var(--bs-primary, var(--wf-color-primary));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-primary:hover:not(:disabled) {
        background: var(--bs-primary-bg-subtle, var(--wf-blue-700));
        filter: brightness(0.92);
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-outline {
        background: var(--wf-surface);
        color: var(--bs-body-color, var(--wf-text));
        border-color: var(--bs-border-color, var(--wf-border));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-outline:hover:not(:disabled) {
        background: var(--bs-gray-100, var(--wf-gray-25));
        border-color: var(--bs-gray-400);
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-muted {
        color: var(--bs-gray-600);
        background: transparent;
        border-color: transparent;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-action-btn.app-btn.wf-action-muted:hover:not(:disabled) {
        background: var(--bs-gray-100, var(--wf-gray-25));
    }

    .wf-notes-block[b-kr4z4xbpi2] {
        background: var(--bs-gray-100, var(--wf-gray-25));
        border-radius: 0.375rem;
        padding: 0.75rem;
        border-left: 3px solid var(--bs-warning, var(--wf-amber-400));
    }

    .wf-override-footer[b-kr4z4xbpi2] {
        display: flex;
        flex-direction: column;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-override-toggle.app-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        width: fit-content;
        padding: 0.35rem 0.65rem;
        border: 1px solid var(--bs-border-color, var(--wf-border));
        border-radius: 0.45rem;
        background: var(--wf-surface);
        color: var(--bs-gray-600, var(--wf-text-muted));
        font-size: 0.75rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.15s ease;
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-override-toggle.app-btn:hover:not(:disabled) {
        border-color: var(--bs-gray-400);
        color: var(--bs-body-color, var(--wf-text));
    }

    .vendor-workflow-shell[b-kr4z4xbpi2]  .wf-override-toggle.app-btn.is-open {
        border-color: var(--wf-ring-primary);
        color: var(--bs-primary, var(--wf-color-primary));
        background: var(--wf-blue-50);
    }

    .wf-override-panel[b-kr4z4xbpi2] {
        padding: 0.75rem;
        border: 1px solid var(--bs-border-color, var(--wf-border));
        border-radius: 0.5rem;
        background: var(--wf-gray-25);
    }

    .wf-nda-upload-area[b-kr4z4xbpi2] {
        padding: 0.5rem;
        border: 1px solid var(--wf-ring-primary);
        border-radius: 0.5rem;
        background: var(--wf-blue-50);
    }

    .wf-file-selected[b-kr4z4xbpi2] {
        padding: 0.5rem 0.75rem;
        border: 1px solid var(--wf-ring-primary);
        border-radius: 0.5rem;
        background: var(--wf-blue-50);
    }

    .wf-file-info[b-kr4z4xbpi2] {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .wf-file-name[b-kr4z4xbpi2] {
        flex: 1;
        font-size: 0.82rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: var(--bs-body-color, var(--wf-text));
    }

    /* GöÇGöÇGöÇ Timeline GöÇGöÇGöÇ */
    .alert-sm[b-kr4z4xbpi2] {
        padding: 0.375rem 0.75rem;
        font-size: 0.8125rem;
    }

    @media (max-width: 767.98px) {
        .wf-drawer-status[b-kr4z4xbpi2],
        .wf-drawer-body[b-kr4z4xbpi2] {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .wf-action-state-head[b-kr4z4xbpi2] {
            flex-direction: column;
            align-items: stretch;
        }

        .wf-action-state-chip[b-kr4z4xbpi2] {
            width: fit-content;
        }
    }
/* /Features/Rfp/Pages/RfpInviteVendors/RfpInviteVendors.razor.rz.scp.css */
.invite-page-shell[b-4x31129v2f] {
    height: calc(100vh - 70px);
    display: flex;
    flex-direction: column;
}

.invite-page-shell[b-4x31129v2f]  .app-async-content {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}

.invite-content-row[b-4x31129v2f] {
    flex: 1 1 auto;
    min-height: 0;
}

.invite-panel-col[b-4x31129v2f] {
    min-height: 0;
}

.invite-card[b-4x31129v2f] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.invite-title[b-4x31129v2f] {
    font-size: 1rem;
}

.invite-subtitle[b-4x31129v2f] {
    max-width: 680px;
}

.invite-back-btn[b-4x31129v2f] {
    white-space: nowrap;
}

.invite-filters[b-4x31129v2f] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 0.5rem;
    align-items: center;
}

.invite-search[b-4x31129v2f],
.invite-search .form-control[b-4x31129v2f] {
    min-width: 0;
}

.invite-table-scroll[b-4x31129v2f],
.invite-list-scroll[b-4x31129v2f] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.invite-vendors-table[b-4x31129v2f] {
    font-size: 0.84rem;
}

.invite-vendors-table thead th[b-4x31129v2f] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bs-gray-100);
    border-bottom: 1px solid var(--bs-gray-300);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--bs-gray-700);
}

.invite-vendors-table td[b-4x31129v2f] {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.invite-vendors-table .invite-col-nda[b-4x31129v2f],
.invite-vendors-table .invite-nda-cell[b-4x31129v2f] {
    width: 150px;
}

.invite-nda-cell .nda-status-container[b-4x31129v2f] {
    display: inline-flex;
}

.invite-nda-cell[b-4x31129v2f]  .app-badge {
    font-size: 0.67rem;
    padding: 0.24rem 0.45rem;
}

.invite-vendor-name[b-4x31129v2f] {
    line-height: 1.2;
}

.invite-vendors-table[b-4x31129v2f]  .invite-product-category-indicator {
    font-size: 0.65rem;
    font-weight: 600;
}

.invite-vendors-table[b-4x31129v2f]  .invite-warning-indicator {
    font-size: 0.62rem;
    padding: 0.15rem 0.3rem;
}

.invite-row-invited[b-4x31129v2f] {
    background: rgba(var(--bs-success-rgb), 0.08);
}

.invite-contact-mail[b-4x31129v2f] {
    font-size: 0.76rem;
    max-width: 250px;
}

.invite-vendors-table[b-4x31129v2f]  .invite-count-indicator {
    font-size: 0.66rem;
    padding: 0.2rem 0.35rem;
}

.invite-action-btn[b-4x31129v2f] {
    min-width: 78px;
}

.invite-more-btn[b-4x31129v2f],
.invite-remove-btn[b-4x31129v2f] {
    line-height: 1;
    padding: 0.2rem 0.4rem;
}

.invite-list[b-4x31129v2f]  .invite-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 24px;
    font-size: 0.68rem;
}

.invite-list[b-4x31129v2f]  .invite-status-badge i {
    margin-right: 0.25rem !important;
}

.invite-remove-btn[b-4x31129v2f] {
    width: 24px;
    height: 24px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.invite-card-footer[b-4x31129v2f] {
    background: var(--wf-surface);
}

.invite-list-item[b-4x31129v2f] {
    padding: 0.65rem 0.75rem;
}

.invite-list-item:hover[b-4x31129v2f] {
    background: var(--bs-gray-50);
}

.invite-contact-line[b-4x31129v2f] {
    font-size: 0.75rem;
    line-height: 1.25;
}

.invite-status-line[b-4x31129v2f] {
    font-size: 0.72rem;
}

.invite-empty-state[b-4x31129v2f] {
    padding: 2rem 1rem;
}

@media (max-width: 1399.98px) {
    .invite-filters[b-4x31129v2f] {
        grid-template-columns: minmax(200px, 1fr) auto auto;
    }
}

@media (max-width: 991.98px) {
    .invite-page-shell[b-4x31129v2f] {
        height: auto;
        min-height: calc(100vh - 70px);
    }

    .invite-content-row[b-4x31129v2f] {
        flex: initial;
    }

    .invite-panel-col[b-4x31129v2f] {
        min-height: 360px;
    }
}

@media (max-width: 767.98px) {
    .invite-header-top[b-4x31129v2f] {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .invite-back-btn[b-4x31129v2f] {
        width: 100%;
    }

    .invite-filters[b-4x31129v2f] {
        grid-template-columns: 1fr auto;
    }

    .invite-contact-mail[b-4x31129v2f] {
        max-width: 170px;
    }

    .invite-vendors-table .invite-col-nda[b-4x31129v2f],
    .invite-vendors-table .invite-nda-cell[b-4x31129v2f] {
        width: 128px;
    }
}
/* /Features/Rfp/Pages/RfpList/RfpActionConfirmationDialog.razor.rz.scp.css */
.rfp-action-confirmation__backdrop[b-0fdrevbmwh] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: 1rem;
    background: color-mix(in srgb, var(--wf-text) 54%, transparent);
}

.rfp-action-confirmation__dialog[b-0fdrevbmwh] {
    width: min(100%, 30rem);
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    box-shadow: var(--wf-shadow);
    color: var(--wf-text);
}

.rfp-action-confirmation__header[b-0fdrevbmwh],
.rfp-action-confirmation__footer[b-0fdrevbmwh] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
}

.rfp-action-confirmation__header[b-0fdrevbmwh] {
    justify-content: space-between;
    border-bottom: 1px solid var(--wf-border);
}

.rfp-action-confirmation__title[b-0fdrevbmwh] {
    margin: 0;
    font-size: var(--wf-font-md);
    font-weight: 600;
}

.rfp-action-confirmation__body[b-0fdrevbmwh] {
    padding: 1rem;
}

.rfp-action-confirmation__message[b-0fdrevbmwh] {
    margin: 0;
    color: var(--wf-text-secondary);
}

.rfp-action-confirmation__error[b-0fdrevbmwh] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 0.875rem;
    padding: 0.75rem;
    border: 1px solid var(--wf-red-200);
    border-radius: var(--wf-radius);
    background: var(--wf-red-50);
    color: var(--wf-red-700);
    font-size: var(--wf-font-sm);
}

.rfp-action-confirmation__footer[b-0fdrevbmwh] {
    justify-content: flex-end;
    border-top: 1px solid var(--wf-border);
}

@media (max-width: 575.98px) {
    .rfp-action-confirmation__dialog[b-0fdrevbmwh] {
        width: 100%;
    }

    .rfp-action-confirmation__footer[b-0fdrevbmwh] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .rfp-action-confirmation__footer[b-0fdrevbmwh]  .app-btn {
        width: 100%;
    }
}
/* /Features/Rfp/Pages/RfpList/RfpList.razor.rz.scp.css */
/* Layout only. Colour, spacing scale and row behaviour come from the design system
   (wf-ui.css tokens and the DataTable component), never from this file. */

@media (max-width: 767.98px) {
    .rfp-filter-actions[b-taxbyu0ib3] {
        width: 100%;
    }

    .rfp-filter-buttons[b-taxbyu0ib3]  .app-btn {
        width: 100%;
    }
}
/* /Features/Rfp/Pages/RfpProposals/RfpProposals.razor.rz.scp.css */
.rfp-proposal-review-comment[b-10gx1y9331] {
    max-width: 150px;
}
/* /Features/Rfp/Pages/RfpVendorInvitationDetails/InvitationDocumentsSection.razor.rz.scp.css */
.invitation-documents[b-b2vs8kj8aa] {
    display: grid;
    gap: var(--wf-space-5);
    padding: var(--wf-space-5);
}

.invitation-documents__group[b-b2vs8kj8aa] {
    display: grid;
    gap: var(--wf-space-3);
}

.invitation-documents__heading[b-b2vs8kj8aa] {
    margin: 0;
    color: var(--wf-text);
    font-weight: 700;
}

.invitation-document-card[b-b2vs8kj8aa] {
    display: flex;
    align-items: center;
    gap: var(--wf-space-3);
    padding: var(--wf-space-4);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-md);
    background: var(--wf-surface);
}

.invitation-document-card__icon[b-b2vs8kj8aa] {
    flex: 0 0 auto;
    color: var(--wf-color-primary);
    font-size: 1.5rem;
}

.invitation-document-card__body[b-b2vs8kj8aa] {
    min-width: 0;
    flex: 1 1 auto;
}

.invitation-document-card__name[b-b2vs8kj8aa] {
    overflow: hidden;
    color: var(--wf-text);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invitation-document-card__meta[b-b2vs8kj8aa],
.invitation-document-card__actions[b-b2vs8kj8aa] {
    display: flex;
    align-items: center;
    gap: var(--wf-space-2);
    flex-wrap: wrap;
}

.invitation-document-card__meta[b-b2vs8kj8aa] {
    margin-top: var(--wf-space-1);
    color: var(--wf-text-muted);
    font-size: var(--wf-font-caption);
}

.invitation-document-card__actions[b-b2vs8kj8aa] {
    flex: 0 0 auto;
}

.invitation-documents__empty[b-b2vs8kj8aa] {
    display: flex;
    align-items: center;
    gap: var(--wf-space-2);
    padding: var(--wf-space-4);
    border: 1px dashed var(--wf-border);
    border-radius: var(--wf-radius-md);
    background: var(--wf-surface-subtle);
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
}

@media (max-width: 767.98px) {
    .invitation-document-card[b-b2vs8kj8aa] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .invitation-document-card__actions[b-b2vs8kj8aa] {
        width: 100%;
        padding-left: calc(1.5rem + var(--wf-space-3));
    }
}
/* /Features/Rfp/Pages/RfpVendorInvitationDetails/InvitationHistoryEntry.razor.rz.scp.css */
/* One log entry has to stay scannable in a long list, so everything sits on the same
   rhythm: no nested cards, no per-section padding stacking up. */
.history-entry[b-enl9m9hkqk] {
    display: grid;
    gap: var(--wf-space-2);
    padding: var(--wf-space-3);
    border: 1px solid var(--wf-border);
    border-inline-start: 3px solid var(--wf-border-hover);
    border-radius: var(--wf-radius);
    background: var(--wf-surface);
}

.history-entry--vendor[b-enl9m9hkqk] {
    border-inline-start-color: var(--wf-color-primary);
    background: var(--wf-surface-accent);
}

.history-entry__header[b-enl9m9hkqk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--wf-space-2);
}

.history-entry__heading[b-enl9m9hkqk] {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.history-entry__heading[b-enl9m9hkqk]  .app-text {
    margin: 0;
}

.history-entry__meta[b-enl9m9hkqk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--wf-space-2);
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
}

.history-entry__author[b-enl9m9hkqk]::before {
    margin-inline-end: 0.35rem;
    content: "\00b7";
}

.history-entry__notes[b-enl9m9hkqk] {
    margin: 0;
    padding-inline-start: var(--wf-space-3);
    border-inline-start: 2px solid var(--wf-border);
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
}

.history-entry__form[b-enl9m9hkqk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: var(--wf-space-2);
    margin: 0;
}

.history-entry__form dt[b-enl9m9hkqk] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xxs);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.history-entry__form dd[b-enl9m9hkqk] {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
}

.history-entry__attachment[b-enl9m9hkqk] {
    display: flex;
    align-items: center;
    gap: var(--wf-space-2);
    padding: var(--wf-space-1) var(--wf-space-2);
    border: 1px solid var(--wf-border-subtle);
    border-radius: var(--wf-radius-sm);
    background: var(--wf-surface-subtle);
    color: var(--wf-text-secondary);
}

.history-entry__attachment-name[b-enl9m9hkqk] {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    font-size: var(--wf-font-sm);
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .history-entry__header[b-enl9m9hkqk] {
        /* Never stretch: the edit action is icon-only and therefore square, so a
           stretched cross axis blows it up to the full width of the card. */
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Features/Rfp/Pages/RfpVendorInvitationDetails/InvitationProposalSection.razor.rz.scp.css */
.pm-info-banner[b-6fofis8eqn] {
    margin-bottom: 1rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--wf-blue-200);
    border-radius: var(--wf-radius);
    background: var(--wf-blue-50);
    color: var(--wf-blue-700);
    font-size: 0.8rem;
}

.pm-timeline[b-6fofis8eqn] {
    position: relative;
    margin-bottom: 0.5rem;
    padding-left: 1.75rem;
}

.pm-timeline[b-6fofis8eqn]::before {
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    width: 2px;
    background: var(--wf-border-hover);
    content: "";
}

.pm-timeline-item[b-6fofis8eqn] {
    position: relative;
    padding-bottom: 0.75rem;
}

.pm-timeline-item:last-child[b-6fofis8eqn] {
    padding-bottom: 0;
}

.pm-timeline-marker[b-6fofis8eqn] {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    font-size: 0.875rem;
    line-height: 1;
}

.pm-timeline-content[b-6fofis8eqn] {
    padding: 0.75rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    background: var(--wf-surface);
}

.pm-timeline-item.pm-current .pm-timeline-content[b-6fofis8eqn] {
    border-color: var(--wf-color-primary-light);
    background: var(--wf-blue-50);
}

.pm-timeline-item.pm-accepted .pm-timeline-content[b-6fofis8eqn] {
    border-color: var(--wf-color-success);
    background: var(--wf-green-50);
}

.pm-actions[b-6fofis8eqn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.pm-timeline-content[b-6fofis8eqn]  .pm-current-indicator {
    font-size: 0.6rem;
}
/* /Features/Rfp/Pages/RfpVendorInvitationDetails/InvitationWorkflowDialogs.razor.rz.scp.css */
.invitation-open-items-list[b-pfo1knnh23] {
    overflow-y: auto;
    max-height: 250px;
}
/* /Features/Rfp/Pages/RfpVendorInvitationDetails/RfpVendorInvitationDetails.razor.rz.scp.css */
.stepper-horizontal[b-0unm8g3ioi] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem 0;
    overflow-x: auto;
}

.step-item[b-0unm8g3ioi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
    min-width: 80px;
}

.step-circle[b-0unm8g3ioi] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--wf-gray-200);
    color: var(--wf-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    z-index: 2;
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
}

.step-label[b-0unm8g3ioi] {
    font-size: 0.75rem;
    color: var(--wf-text-muted);
    text-align: center;
    font-weight: 500;
}

.step-line[b-0unm8g3ioi] {
    position: absolute;
    top: 16px;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: var(--wf-gray-200);
    z-index: 1;
}

.step-item.active .step-circle[b-0unm8g3ioi] {
    background-color: var(--wf-color-primary);
    color: var(--wf-surface);
}

.step-item.active .step-line[b-0unm8g3ioi] {
    background-color: var(--wf-color-primary);
}

.step-item.current .step-circle[b-0unm8g3ioi] {
    background-color: var(--wf-surface);
    border: 2px solid var(--wf-color-primary);
    color: var(--wf-color-primary);
    box-shadow: 0 0 0 4px var(--wf-ring-primary);
}

.step-item.current .step-label[b-0unm8g3ioi] {
    color: var(--wf-color-primary);
    font-weight: 700;
}

.timeline-list[b-0unm8g3ioi] {
    display: grid;
    gap: var(--wf-space-3);
    margin: 0;
    padding: 0 0 0 var(--wf-space-5);
    border-left: 2px solid var(--wf-border);
    list-style: none;
}

.timeline-item[b-0unm8g3ioi] {
    position: relative;
}

.timeline-marker[b-0unm8g3ioi] {
    position: absolute;
    top: 1rem;
    left: calc(-1 * var(--wf-space-5));
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--wf-gray-400);
    transform: translateX(-50%);
    box-shadow: 0 0 0 3px var(--wf-surface);
}

.timeline-marker--vendor[b-0unm8g3ioi] {
    background: var(--wf-color-primary);
}
.timeline-container[b-0unm8g3ioi]::-webkit-scrollbar {
    width: 6px;
}
.timeline-container[b-0unm8g3ioi]::-webkit-scrollbar-thumb {
    background: var(--wf-border);
    border-radius: 10px;
}
.hover-shadow:hover[b-0unm8g3ioi] {
    box-shadow: 0 .5rem 1rem var(--wf-shadow-overlay)!important;
}
.invitation-summary-card[b-0unm8g3ioi] {
    background: var(--wf-gradient-surface);
}

.invitation-status-card[b-0unm8g3ioi] {
    min-width: 160px;
}

.invitation-nda-card[b-0unm8g3ioi] {
    min-width: 180px;
}

.invitation-summary-label[b-0unm8g3ioi] {
    font-size: 0.7rem;
}

.invitation-timeline-container[b-0unm8g3ioi] {
    overflow-y: auto;
    max-height: 600px;
}
/* /Features/Rfp/Pages/Templates/TemplateEdit.razor.rz.scp.css */
/* ::deep because EditForm renders the <form> without the scope attribute */
[b-j1ta8zeeyg] .rfp-template-shell {
    display: block;
}

.rfp-template-card[b-j1ta8zeeyg] {
    border: 1px solid var(--wf-border);
    border-radius: 1.25rem;
    overflow: hidden;
}

.rfp-template-card .card-header[b-j1ta8zeeyg] {
    padding: 1.1rem 1.15rem 0;
}

.rfp-template-card .card-body[b-j1ta8zeeyg] {
    padding: 1rem 1.15rem 1.15rem;
}

.rfp-template-eyebrow[b-j1ta8zeeyg] {
    color: var(--wf-text-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rfp-template-card[b-j1ta8zeeyg]  .rfp-default-switch {
    background: var(--wf-gray-25);
    border: 1px solid var(--wf-border);
    border-radius: 999px;
    margin: 0;
    padding: .42rem .8rem;
}

.rfp-template-card[b-j1ta8zeeyg]  .rfp-default-switch .app-switch__label {
    color: var(--wf-text-secondary);
    font-size: .82rem;
    font-weight: 650;
}

.rfp-default-fields[b-j1ta8zeeyg] {
    align-items: center;
    background: linear-gradient(180deg, var(--wf-gray-25), var(--wf-surface));
    border: 1px solid var(--wf-border);
    border-radius: 1rem;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .85rem;
    padding: .7rem .85rem;
}

.rfp-default-title[b-j1ta8zeeyg] {
    color: var(--wf-text);
    font-size: .84rem;
    font-weight: 700;
}

.rfp-default-copy[b-j1ta8zeeyg] {
    color: var(--wf-text-muted);
    font-size: .76rem;
    line-height: 1.25;
    margin-top: .1rem;
}

.rfp-default-pills[b-j1ta8zeeyg] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: flex-end;
}

.rfp-default-pills[b-j1ta8zeeyg]  .app-badge {
    font-size: .75rem;
    font-weight: 650;
    padding: .42rem .6rem;
}

.rfp-template-actions[b-j1ta8zeeyg] {
    align-items: center;
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: 999px;
    bottom: 1rem;
    box-shadow: 0 18px 40px var(--wf-shadow-overlay);
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
    margin-left: auto;
    padding: .45rem;
    position: sticky;
    width: max-content;
    z-index: 4;
}

@media (max-width: 768px) {
    .rfp-default-fields[b-j1ta8zeeyg] {
        align-items: flex-start;
        flex-direction: column;
    }

    .rfp-default-pills[b-j1ta8zeeyg] {
        justify-content: flex-start;
    }

    .rfp-template-actions[b-j1ta8zeeyg] {
        border-radius: 1rem;
        width: 100%;
    }

    .rfp-template-actions[b-j1ta8zeeyg]  .app-btn {
        flex: 1;
    }
}
/* /Features/Settings/Pages/EmailTemplates.razor.rz.scp.css */
.email-template-preview[b-04v2wvs1vp] {
    max-height: 25rem;
    overflow-y: auto;
}

.email-template-actions[b-04v2wvs1vp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.alert[b-04v2wvs1vp]  .email-template-alert__dismiss {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}
/* /Features/Vendors/Components/VendorContactPortalAccess.razor.rz.scp.css */
.portal-access-state[b-peiqc4hhi6] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}
/* /Features/Vendors/Components/VendorContactsSection.razor.rz.scp.css */
/* VendorContactsSection scoped styles */

/* ── Section header ──────────────────────────────────────────── */
.contacts-section-header[b-b32pb4x3l0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.25rem;
}

.contacts-section-title[b-b32pb4x3l0] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--wf-text);
    margin: 0 0 0.2rem 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.contacts-section-sub[b-b32pb4x3l0] {
    font-size: 0.75rem;
    color: var(--wf-text-muted);
    margin: 0 0 0.875rem 0;
    border-bottom: 1px solid var(--wf-border);
    padding-bottom: 0.75rem;
}

.contacts-section-actions[b-b32pb4x3l0] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-shrink: 0;
}

/* ── Checkbox column ──────────────────────────────────────────── */
.contacts-check-col[b-b32pb4x3l0] {
    width: 2rem;
    padding-right: 0;
}

.contacts-selection-checkbox[b-b32pb4x3l0]  .app-checkbox__copy {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ── Inactive row ────────────────────────────────────────────── */
.contact-row-inactive td[b-b32pb4x3l0] {
    opacity: 0.5;
}

/* ── Name cell ───────────────────────────────────────────────── */
.contact-name-cell[b-b32pb4x3l0] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}

.contact-name-cell[b-b32pb4x3l0]  .contact-inactive-indicator,
.contact-name-cell[b-b32pb4x3l0]  .contact-primary-indicator {
    font-size: 0.6875rem;
    letter-spacing: 0.02em;
}

/* ── Portal access badges ────────────────────────────────────── */
/* ── Actions cell ────────────────────────────────────────────── */
.contact-actions-cell[b-b32pb4x3l0] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    align-items: center;
    white-space: nowrap;
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .contacts-section-header[b-b32pb4x3l0] {
        flex-direction: column;
        align-items: stretch;
    }

    .contacts-section-actions[b-b32pb4x3l0] {
        justify-content: flex-end;
    }

    .btn-label[b-b32pb4x3l0] {
        display: none;
    }
}
/* /Features/Vendors/Components/VendorForm.razor.rz.scp.css */
.vendor-form[b-fgwbernd5w] {
    min-width: 0;
}

.vendor-form[b-fgwbernd5w]  .form-control,
.vendor-form[b-fgwbernd5w]  .form-select {
    min-height: 44px;
}

.vendor-company-type[b-fgwbernd5w] {
    cursor: pointer;
}

.vendor-contact-empty[b-fgwbernd5w] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    margin-bottom: 0.75rem;
    color: var(--wf-text-muted);
    background: var(--wf-gray-50);
    border: 1px dashed var(--wf-border);
    border-radius: 0.75rem;
}

.vendor-contact-empty > i[b-fgwbernd5w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    color: var(--wf-color-primary-light);
    background: var(--wf-blue-50);
    border-radius: 50%;
}

.vendor-contact-empty strong[b-fgwbernd5w],
.vendor-contact-empty span[b-fgwbernd5w] {
    display: block;
}

.vendor-contact-empty strong[b-fgwbernd5w] {
    margin-bottom: 0.125rem;
    color: var(--wf-text);
    font-size: 0.875rem;
}

.vendor-contact-empty span[b-fgwbernd5w] {
    font-size: 0.8125rem;
    line-height: 1.4;
}

.vendor-contact-list[b-fgwbernd5w] {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.vendor-contact-card[b-fgwbernd5w] {
    min-width: 0;
    padding: 1rem;
    margin: 0;
    background: var(--wf-surface);
    border: 1px solid var(--wf-border);
    border-radius: 0.75rem;
}

.vendor-contact-card-header[b-fgwbernd5w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.vendor-contact-card-header[b-fgwbernd5w]  .vendor-contact-primary {
    display: flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
}

.vendor-contact-card-header[b-fgwbernd5w]  .vendor-contact-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    padding: 0;
}

.vendor-contact-fields[b-fgwbernd5w] {
    display: grid;
    grid-template-columns:
        minmax(10rem, 1.1fr)
        minmax(12rem, 1.5fr)
        minmax(9rem, 1fr)
        minmax(10rem, 1.1fr);
    gap: 0.75rem;
    min-width: 0;
}

.vendor-contact-field[b-fgwbernd5w] {
    min-width: 0;
}

.vendor-contact-field[b-fgwbernd5w]  .wf-field__label {
    display: block;
    margin-bottom: 0.375rem;
    color: var(--wf-text-muted);
    font-size: 0.8125rem;
    font-weight: 600;
}

.vendor-contact-field[b-fgwbernd5w]  .wf-input {
    width: 100%;
    min-width: 0;
}

.vendor-form[b-fgwbernd5w]  .vendor-add-contact {
    min-height: 44px;
}

@media (max-width: 1100px) {
    .vendor-contact-fields[b-fgwbernd5w] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .vendor-form[b-fgwbernd5w]  .form-control,
    .vendor-form[b-fgwbernd5w]  .form-select {
        font-size: 1rem;
    }

    .vendor-contact-card[b-fgwbernd5w] {
        padding: 0.875rem;
    }

    .vendor-contact-fields[b-fgwbernd5w] {
        grid-template-columns: minmax(0, 1fr);
    }

    .vendor-form[b-fgwbernd5w]  .vendor-add-contact {
        width: 100%;
    }
}
/* /Features/Vendors/Pages/Portal/Rfp/Components/VendorProposalFlowActions.razor.rz.scp.css */
.vendor-proposal-actions[b-7rh7fflyxc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

@media (max-width: 575.98px) {
    .vendor-proposal-actions[b-7rh7fflyxc] {
        flex-direction: column;
        align-items: stretch;
    }

    .vendor-proposal-actions[b-7rh7fflyxc]  .app-btn {
        width: 100%;
    }
}
/* /Features/Vendors/Pages/Portal/Rfp/Components/VendorSignatureDrawPad.razor.rz.scp.css */
.signature-pad[b-qne2pcdi50] {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    border: 1px solid var(--wf-border);
    border-radius: 0.4rem;
    background: var(--wf-surface-subtle);
}

.signature-pad__canvas[b-qne2pcdi50] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    touch-action: none;
    cursor: crosshair;
}

.signature-pad__canvas--disabled[b-qne2pcdi50] {
    pointer-events: none;
    cursor: wait;
    opacity: 0.72;
}

.signature-pad__baseline[b-qne2pcdi50] {
    position: absolute;
    right: 1.2rem;
    bottom: 2.2rem;
    left: 1.2rem;
    border-bottom: 1px solid var(--wf-gray-400);
    pointer-events: none;
}

.signature-pad__stamp[b-qne2pcdi50] {
    position: absolute;
    right: 1rem;
    bottom: 0.7rem;
    color: var(--wf-text-muted);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    pointer-events: none;
}

.signature-pad__footer[b-qne2pcdi50] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wf-space-3);
    margin-top: var(--wf-space-2);
}

.signature-pad__help[b-qne2pcdi50] {
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
}

@media (max-width: 575.98px) {
    .signature-pad__footer[b-qne2pcdi50] {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--wf-space-1);
    }
}
/* /Features/Vendors/Pages/Portal/Rfp/VendorRfpDetail.razor.rz.scp.css */
.proposal-timeline-banner[b-76wrjax604] {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-gray-50);
}

.proposal-timeline[b-76wrjax604] {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.proposal-timeline[b-76wrjax604]::before {
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.6rem;
    width: 2px;
    background: var(--wf-gray-300);
    content: "";
}

.proposal-timeline-item[b-76wrjax604] {
    position: relative;
    padding-bottom: 1rem;
}

.proposal-timeline-item:last-child[b-76wrjax604] {
    padding-bottom: 0;
}

.proposal-timeline-marker[b-76wrjax604] {
    position: absolute;
    top: 0.15rem;
    left: -1.9rem;
    font-size: 1rem;
    line-height: 1;
}

.proposal-timeline-content[b-76wrjax604] {
    padding: 0.75rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    background: var(--wf-surface);
}

.proposal-timeline-item.current .proposal-timeline-content[b-76wrjax604] {
    border-color: var(--wf-color-primary);
    background: color-mix(in srgb, var(--wf-color-primary) 4%, var(--wf-surface));
}

.proposal-timeline-item.accepted .proposal-timeline-content[b-76wrjax604] {
    border-color: var(--wf-color-success);
    background: color-mix(in srgb, var(--wf-color-success) 4%, var(--wf-surface));
}

.proposal-empty-state[b-76wrjax604] {
    margin-bottom: 1rem;
    border-radius: var(--wf-radius-lg);
    background: var(--wf-gray-50);
}

.proposal-context-info .alert[b-76wrjax604] {
    border-radius: var(--wf-radius);
}

.submission-summary[b-76wrjax604] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: var(--wf-space-2);
    margin: 0 0 var(--wf-space-4);
}

.submission-summary > div[b-76wrjax604] {
    min-width: 0;
    padding: var(--wf-space-2) var(--wf-space-3);
    border: 1px solid var(--wf-border-subtle);
    border-radius: var(--wf-radius);
    background: var(--wf-surface-subtle);
}

.submission-summary dt[b-76wrjax604] {
    margin-bottom: 0.15rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xxs);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.submission-summary dd[b-76wrjax604] {
    overflow: hidden;
    margin: 0;
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-sm);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.submission-locked[b-76wrjax604] {
    display: grid;
    justify-items: center;
    gap: var(--wf-space-2);
    padding: var(--wf-space-8) var(--wf-space-4);
    text-align: center;
}

.submission-locked[b-76wrjax604]  .app-text {
    max-width: 34rem;
    margin: 0;
}
/* /Features/Vendors/Pages/Portal/Rfp/VendorRfpDetailsPanel.razor.rz.scp.css */
.vendor-preformatted-content[b-75b2g6syhw] {
    max-height: 12.5rem;
    overflow-y: auto;
    white-space: pre-wrap;
}

.vendor-col-quantity[b-75b2g6syhw] {
    width: 5rem;
}

.vendor-col-unit[b-75b2g6syhw],
.vendor-col-required[b-75b2g6syhw] {
    width: 3.75rem;
}
/* /Features/Vendors/Pages/Portal/Rfp/VendorRfpList.razor.rz.scp.css */
.vrfp-card[b-e3e3xorkcv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface);
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: box-shadow 120ms, border-color 120ms;
}

.vrfp-card:hover[b-e3e3xorkcv] {
    border-color: var(--wf-border-hover);
    box-shadow: var(--wf-shadow-sm);
}

.vrfp-card:focus-visible[b-e3e3xorkcv] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    box-shadow: var(--wf-focus-ring);
}

.vrfp-overdue[b-e3e3xorkcv] {
    border-left: 3px solid var(--wf-color-danger);
}

.vrfp-number[b-e3e3xorkcv] {
    color: var(--wf-text-muted);
    font-family: var(--wf-font-mono);
    font-size: var(--wf-font-xs);
    letter-spacing: 0.02em;
}
.vrfp-search[b-e3e3xorkcv] {
    min-width: 180px;
    max-width: 320px;
}

.vrfp-phase-filter[b-e3e3xorkcv] {
    width: auto;
    min-width: 130px;
}

.vrfp-description[b-e3e3xorkcv] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.vrfp-card-footer[b-e3e3xorkcv] {
    border-color: var(--wf-border-subtle) !important;
}
/* /Features/Vendors/Pages/Portal/VendorDashboard.razor.rz.scp.css */
.vp-action-banner[b-07w1t4blsj] {
    padding: 0.75rem 1rem;
    border: 1px solid var(--wf-amber-200);
    border-radius: var(--wf-radius-lg);
    background: linear-gradient(135deg, var(--wf-amber-50) 0%, var(--wf-amber-100) 100%);
}

.vp-action-chip[b-07w1t4blsj] {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 2rem;
    font-size: 0.78rem;
    font-weight: 500;
    text-decoration: none;
    transition: transform 80ms;
}

.vp-action-chip:hover[b-07w1t4blsj] {
    transform: translateY(-1px);
}

.vp-action-chip.vp-urgent[b-07w1t4blsj] {
    border-color: var(--wf-red-300);
    background: var(--wf-red-50);
    color: var(--wf-red-800);
}

.vp-action-chip.vp-warn[b-07w1t4blsj] {
    border-color: var(--wf-amber-200);
    background: var(--wf-amber-50);
    color: var(--wf-amber-800);
}

.vp-action-chip.vp-info[b-07w1t4blsj] {
    border-color: var(--wf-blue-300);
    background: var(--wf-blue-50);
    color: var(--wf-blue-800);
}

.vp-empty-state[b-07w1t4blsj] {
    padding: 2.5rem 1rem;
    border: 1px dashed var(--wf-border-hover);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface-subtle);
    text-align: center;
}

.vp-rfp-card[b-07w1t4blsj] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface);
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: box-shadow 120ms, border-color 120ms;
}

.vp-rfp-card:hover[b-07w1t4blsj] {
    border-color: var(--wf-border-hover);
    box-shadow: var(--wf-shadow-sm);
}

.vp-rfp-card:focus-visible[b-07w1t4blsj] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    box-shadow: var(--wf-focus-ring);
}

.vp-rfp-overdue[b-07w1t4blsj] {
    border-left: 3px solid var(--wf-color-danger);
}

.vp-rfp-number[b-07w1t4blsj] {
    color: var(--wf-text-muted);
    font-family: var(--wf-font-mono);
    font-size: var(--wf-font-xs);
    letter-spacing: 0.02em;
}

.vp-rfp-footer[b-07w1t4blsj] {
    border-top: 1px solid var(--wf-border-subtle);
}

.vp-proposals-list[b-07w1t4blsj] {
    overflow: hidden;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
}

.vp-proposal-row[b-07w1t4blsj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid var(--wf-border-subtle);
    color: inherit;
    transition: background 80ms;
}

.vp-proposal-row:last-child[b-07w1t4blsj] {
    border-bottom: none;
}

.vp-proposal-row:hover[b-07w1t4blsj] {
    background: var(--wf-surface-hover);
}

.vp-summary-bar[b-07w1t4blsj] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 0.5rem;
    padding: 0.65rem 0;
    border-top: 1px solid var(--wf-border);
}

.vp-summary-item[b-07w1t4blsj] {
    text-align: center;
}

.vp-summary-value[b-07w1t4blsj] {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
}

.vp-summary-label[b-07w1t4blsj] {
    color: var(--wf-text-muted);
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.vp-summary-divider[b-07w1t4blsj] {
    width: 1px;
    height: 1.8rem;
    background: var(--wf-border-hover);
}

@media (prefers-reduced-motion: reduce) {
    .vp-action-chip[b-07w1t4blsj],
    .vp-rfp-card[b-07w1t4blsj],
    .vp-proposal-row[b-07w1t4blsj] {
        transition: none;
    }
}
/* /Features/Vendors/Pages/Portal/VendorNotifications.razor.rz.scp.css */
.vendor-notifications[b-eqw7nx2x36] {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vendor-notifications[b-eqw7nx2x36]  .vendor-notification {
    min-height: 5.25rem;
    justify-content: flex-start;
    border: 0;
    border-bottom: 1px solid var(--wf-border-subtle);
    border-radius: 0;
    padding: 1rem 1.25rem;
    color: var(--wf-text);
    text-align: start;
}

.vendor-notifications[b-eqw7nx2x36]  .vendor-notification:last-child {
    border-bottom: 0;
}

.vendor-notifications[b-eqw7nx2x36]  .vendor-notification:hover:not(:disabled) {
    background: var(--wf-surface-hover);
}

.vendor-notifications[b-eqw7nx2x36]  .vendor-notification--unread {
    background: var(--wf-amber-50);
    box-shadow: inset 0.25rem 0 0 var(--wf-amber-500);
}

.vendor-notification__layout[b-eqw7nx2x36] {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.vendor-notification__body[b-eqw7nx2x36] {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 0.375rem;
}

.vendor-notification__heading[b-eqw7nx2x36] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
}

.vendor-notification__heading strong[b-eqw7nx2x36],
.vendor-notification__message[b-eqw7nx2x36] {
    overflow-wrap: anywhere;
}

.vendor-notification__title--read[b-eqw7nx2x36],
.vendor-notification__message[b-eqw7nx2x36],
.vendor-notification__date[b-eqw7nx2x36] {
    color: var(--wf-text-muted);
}

.vendor-notification__message[b-eqw7nx2x36] {
    font-size: var(--wf-font-sm);
    line-height: 1.45;
}

.vendor-notification__date[b-eqw7nx2x36] {
    flex: 0 0 auto;
    font-size: var(--wf-font-xs);
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .vendor-notifications[b-eqw7nx2x36]  .vendor-notification {
        padding: 0.875rem;
    }

    .vendor-notification__layout[b-eqw7nx2x36] {
        flex-direction: column;
        gap: 0.625rem;
    }

    .vendor-notification__date[b-eqw7nx2x36] {
        padding-inline-start: 1.5rem;
    }
}
/* /Features/Vendors/Pages/VendorDetails.razor.rz.scp.css */
/* VendorDetails scoped styles */

/* ── Header actions ──────────────────────────────────────────── */
.vd-header-actions[b-03kopop86j] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Compliance alert ────────────────────────────────────────── */
.vd-compliance-alert[b-03kopop86j] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.vd-compliance-icon[b-03kopop86j] {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ── Tab content ─────────────────────────────────────────────── */
.vd-tab-body[b-03kopop86j] {
    padding: 1rem;
}

/* ── Meta grid (definition list) ─────────────────────────────── */
.vd-meta-grid[b-03kopop86j] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 1.5rem;
    margin: 0 0 1rem 0;
    padding: 0;
}

.vd-meta-item[b-03kopop86j] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.vd-meta-item--wide[b-03kopop86j] {
    grid-column: span 2;
}

.vd-meta-item dt[b-03kopop86j] {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wf-text-muted);
    margin: 0;
}

.vd-meta-item dd[b-03kopop86j] {
    font-size: 0.875rem;
    color: var(--wf-text);
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

/* ── Vendor status badge ──────────────────────────────────────── */
/* ── Category pills ──────────────────────────────────────────── */
/* ── Contacts wrapper ────────────────────────────────────────── */
.vd-contacts-wrapper[b-03kopop86j] {
    border-top: 1px solid var(--wf-border);
    padding-top: 1.25rem;
}

/* ── Inbox ───────────────────────────────────────────────────── */
.vd-inbox-header[b-03kopop86j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--wf-text);
}

/* ── Email preview ───────────────────────────────────────────── */
.vd-email-preview[b-03kopop86j] {
    max-height: 300px;
    overflow-y: auto;
    background: var(--wf-gray-50);
    font-size: 0.8125rem;
}
/* /Features/Vendors/Pages/Vendors.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────────
   Vendor Directory – minimal Apple-style header + compact table
   ───────────────────────────────────────────────────────────── */

/* ── Search + Add strip ── */

.vd-header-strip[b-nhq8thsy1c] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: auto;
    max-width: 100%;
    min-width: 0;
}

.vd-header-strip[b-nhq8thsy1c]  .vd-directory-search {
    min-width: min(18rem, 100%);
    flex: 1 1 24rem;
}

.vd-header-strip[b-nhq8thsy1c]  .vd-category-filter {
    width: min(16rem, 100%);
    min-width: 9rem;
    flex: 0 1 16rem;
}

.vd-header-strip[b-nhq8thsy1c]  .vd-clear-x,
.vd-header-strip[b-nhq8thsy1c]  .vd-add-btn {
    flex: 0 0 auto;
}

/* Pill search shell */
.vd-search-shell[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    height: 36px;
    background: var(--wf-gray-50);
    border-radius: 24px;
    padding: 0 14px;
    transition: background .15s, box-shadow .15s;
}

.vd-search-shell:focus-within[b-nhq8thsy1c] {
    background: var(--wf-white);
    box-shadow: 0 0 0 2px var(--wf-blue-600);
}

.vd-si[b-nhq8thsy1c] {
    color: var(--wf-gray-600);
    font-size: .85rem;
    flex-shrink: 0;
}

.vd-search-input[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    outline: none;
    flex: 1;
    font-size: .875rem;
    color: var(--wf-gray-900);
    min-width: 0;
}

.vd-search-input[b-nhq8thsy1c]::placeholder { color: var(--wf-gray-400); }

.vd-divider[b-nhq8thsy1c] {
    width: 1px;
    height: 18px;
    background: var(--wf-gray-200);
    flex-shrink: 0;
}

.vd-cat-select[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    outline: none;
    font-size: .8rem;
    color: var(--wf-gray-600);
    cursor: pointer;
    max-width: 140px;
    padding-right: 4px;
}

/* ── Custom dropdown (category filter + actions menu) ── */

.vd-dd[b-nhq8thsy1c] {
    position: relative;
    display: inline-flex;
}

.vd-dd-trigger[b-nhq8thsy1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: transparent;
    outline: none;
    font-size: .8rem;
    color: var(--wf-gray-600);
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 6px;
    transition: background .1s, color .1s;
    max-width: 180px;
}

.vd-dd-trigger:hover[b-nhq8thsy1c] { background: color-mix(in srgb, var(--wf-gray-900) 4%, transparent); color: var(--wf-gray-900); }

.vd-dd-label[b-nhq8thsy1c] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vd-dd-caret[b-nhq8thsy1c] {
    font-size: .65rem;
    transition: transform .15s;
    flex-shrink: 0;
}

.vd-dd.is-open .vd-dd-caret[b-nhq8thsy1c] { transform: rotate(180deg); }

.vd-dd-menu[b-nhq8thsy1c] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    max-height: 360px;
    overflow-y: auto;
    background: var(--wf-white);
    border-radius: 10px;
    box-shadow: 0 4px 6px -2px color-mix(in srgb, var(--wf-gray-700) 15%, transparent), 0 10px 24px -4px color-mix(in srgb, var(--wf-gray-700) 22%, transparent);
    padding: 6px;
    z-index: 1050;
    animation: vd-dd-in-b-nhq8thsy1c .12s ease-out;
}

.vd-dd-menu-wide[b-nhq8thsy1c] { min-width: 260px; }

@keyframes vd-dd-in-b-nhq8thsy1c {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.vd-dd-item[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: .85rem;
    color: var(--wf-gray-900);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background .08s;
}

.vd-dd-item:hover[b-nhq8thsy1c] { background: var(--wf-gray-50); }
.vd-dd-item.is-disabled[b-nhq8thsy1c],
.vd-dd-item[disabled][b-nhq8thsy1c] { color: var(--wf-gray-400); cursor: not-allowed; }
.vd-dd-item.is-disabled:hover[b-nhq8thsy1c],
.vd-dd-item[disabled]:hover[b-nhq8thsy1c] { background: transparent; }

.vd-dd-icon[b-nhq8thsy1c] {
    color: var(--wf-gray-600);
    font-size: .95rem;
    flex-shrink: 0;
}

.vd-dd-check[b-nhq8thsy1c] {
    color: var(--wf-blue-600);
    font-size: .95rem;
    flex-shrink: 0;
    opacity: 0;
}

.vd-dd-item.is-active .vd-dd-check[b-nhq8thsy1c] { opacity: 1; }
.vd-dd-item.is-active[b-nhq8thsy1c] { background: var(--wf-blue-50); color: var(--wf-blue-700); font-weight: 500; }

.vd-dd-sep[b-nhq8thsy1c] {
    height: 1px;
    background: var(--wf-gray-100);
    margin: 6px 4px;
}

.vd-dd-section[b-nhq8thsy1c] {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--wf-gray-500);
    padding: 8px 12px 4px;
}

.vd-dd-empty[b-nhq8thsy1c] {
    padding: 8px 12px 10px;
    font-size: .8rem;
    color: var(--wf-gray-400);
    font-style: italic;
}

.vd-dd-tag[b-nhq8thsy1c] {
    margin-left: auto;
    font-size: .65rem;
    font-weight: 600;
    color: var(--wf-gray-500);
    background: var(--wf-gray-50);
    border-radius: 10px;
    padding: 1px 8px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.vd-dd-backdrop[b-nhq8thsy1c] {
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 1040;
}

.vd-clear-x[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    color: var(--wf-gray-600);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    flex-shrink: 0;
    transition: color .1s;
}

.vd-clear-x:hover[b-nhq8thsy1c] { color: var(--wf-gray-900); }

/* New button */
.vd-add-btn[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 36px;
    padding: 0 18px;
    border-radius: 24px;
    border: none;
    background: var(--wf-blue-600);
    color: var(--wf-white);
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .12s, box-shadow .12s;
}

.vd-add-btn:hover[b-nhq8thsy1c] { background: var(--wf-blue-700); box-shadow: 0 1px 4px color-mix(in srgb, var(--wf-blue-600) 35%, transparent); }

/* ── Contextual selection bar ── */

.vd-sel-bar[b-nhq8thsy1c] {
    display: none;
    align-items: center;
    gap: 10px;
    height: 48px;
    background: var(--wf-blue-50);
    border-radius: 8px;
    padding: 0 16px;
    margin-bottom: 0;
    font-size: .875rem;
}

.vd-sel-bar.is-visible[b-nhq8thsy1c] {
    display: flex;
    margin-bottom: 12px;
    animation: vd-sel-in-b-nhq8thsy1c .2s ease-out;
}

@keyframes vd-sel-in-b-nhq8thsy1c {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.vd-sel-count[b-nhq8thsy1c] {
    font-weight: 500;
    color: var(--wf-blue-600);
    white-space: nowrap;
    flex-shrink: 0;
}

.vd-sel-primary[b-nhq8thsy1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 14px;
    border-radius: 6px;
    border: none;
    background: var(--wf-blue-600);
    color: var(--wf-white);
    font-size: .8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .12s, box-shadow .12s;
    flex-shrink: 0;
}

.vd-sel-primary:hover[b-nhq8thsy1c] { background: var(--wf-blue-700); }
.vd-sel-primary:disabled[b-nhq8thsy1c] { opacity: .55; cursor: default; }
.vd-sel-primary .vd-dd-caret[b-nhq8thsy1c] { color: color-mix(in srgb, var(--wf-white) 85%, transparent); margin-left: 2px; }

.vd-sel-feedback[b-nhq8thsy1c] {
    font-size: .78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.vd-sel-feedback.is-ok[b-nhq8thsy1c]   { color: var(--wf-green-700); }
.vd-sel-feedback.is-warn[b-nhq8thsy1c] { color: var(--wf-amber-700); }

.vd-sel-dismiss[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    color: var(--wf-gray-600);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    flex-shrink: 0;
    margin-left: auto;
    transition: color .1s;
}

.vd-sel-dismiss:hover[b-nhq8thsy1c] { color: var(--wf-gray-900); }

.vd-sel-bar[b-nhq8thsy1c]  .vd-sel-dismiss {
    margin-left: auto;
}

/* ── RFP picker modal ── */

.vd-modal-backdrop[b-nhq8thsy1c] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--wf-gray-900) 45%, transparent);
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: vd-modal-in-b-nhq8thsy1c .15s ease-out;
}

.vd-modal[b-nhq8thsy1c] {
    background: var(--wf-white);
    border-radius: 14px;
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px color-mix(in srgb, var(--wf-gray-900) 25%, transparent);
    overflow: hidden;
}

@keyframes vd-modal-in-b-nhq8thsy1c {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.vd-modal-header[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--wf-gray-50);
}

.vd-modal-title[b-nhq8thsy1c] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--wf-gray-900);
    margin: 0;
}

.vd-modal-close[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    color: var(--wf-gray-600);
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .1s;
}

.vd-modal-close:hover[b-nhq8thsy1c] { background: var(--wf-gray-50); color: var(--wf-gray-900); }

.vd-modal-body[b-nhq8thsy1c] {
    padding: 14px 16px 16px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vd-modal-search[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    background: var(--wf-gray-50);
    border-radius: 20px;
    padding: 0 14px;
}

.vd-modal-search i[b-nhq8thsy1c] { color: var(--wf-gray-600); font-size: .85rem; }

.vd-modal-search input[b-nhq8thsy1c] {
    border: none;
    background: transparent;
    outline: none;
    flex: 1;
    font-size: .875rem;
    color: var(--wf-gray-900);
}

.vd-modal-body[b-nhq8thsy1c]  .vd-modal-search {
    width: 100%;
}

.vd-modal-empty[b-nhq8thsy1c] {
    text-align: center;
    color: var(--wf-gray-400);
    padding: 28px 8px;
    font-size: .85rem;
}

.vd-modal-empty i[b-nhq8thsy1c] { font-size: 2rem; display: block; margin-bottom: 8px; }

.vd-rfp-list[b-nhq8thsy1c] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--wf-gray-100);
    border-radius: 10px;
    background: var(--wf-white);
    text-align: left;
    cursor: pointer;
    transition: background .1s, border-color .1s, transform .08s;
}

.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item:hover {
    background: var(--wf-gray-25);
    border-color: var(--wf-blue-600);
}

.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item:active { transform: scale(.995); }
.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item:disabled { opacity: .6; cursor: not-allowed; }

.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item {
    justify-content: flex-start;
    min-height: auto;
    color: inherit;
}

.vd-rfp-main[b-nhq8thsy1c] { flex: 1; min-width: 0; }

.vd-rfp-title[b-nhq8thsy1c] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    white-space: nowrap;
    overflow: hidden;
}

.vd-rfp-number[b-nhq8thsy1c] {
    font-weight: 600;
    color: var(--wf-blue-600);
    font-size: .82rem;
    flex-shrink: 0;
}

.vd-rfp-name[b-nhq8thsy1c] {
    color: var(--wf-gray-900);
    font-size: .9rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vd-rfp-sub[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 3px;
    font-size: .72rem;
    color: var(--wf-gray-600);
}

.vd-rfp-sub i[b-nhq8thsy1c] { margin-right: 3px; }

.vd-rfp-sub[b-nhq8thsy1c]  .vendor-rfp-phase-indicator,
.vd-rfp-sub[b-nhq8thsy1c]  .app-badge {
    font-size: .65rem;
    letter-spacing: .04em;
}

.cell-stack[b-nhq8thsy1c] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.cell-stack .cell-val[b-nhq8thsy1c] { line-height: 1.25; }

.contact-row-top[b-nhq8thsy1c]  .contact-primary-indicator {
    font-size: .7rem;
    margin-left: 4px;
}

.mm-sub[b-nhq8thsy1c] { color: var(--wf-gray-500); font-weight: 400; }

.vd-rfp-go[b-nhq8thsy1c] {
    color: var(--wf-gray-400);
    font-size: 1rem;
    flex-shrink: 0;
}

.vd-rfp-list[b-nhq8thsy1c]  .vd-rfp-item:hover .vd-rfp-go { color: var(--wf-blue-600); }

.vendor-table-wrapper[b-nhq8thsy1c] {
    background: var(--wf-white);
    border-radius: 8px;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--wf-gray-700) 10%, transparent), 0 1px 6px 2px color-mix(in srgb, var(--wf-gray-700) 6%, transparent);
    overflow-x: auto;
}

.vendor-table[b-nhq8thsy1c] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
    color: var(--wf-gray-700);
}

/* ── Header ── */

.vendor-table thead tr[b-nhq8thsy1c] {
    border-bottom: 1px solid var(--wf-gray-200);
}

.vendor-table thead th[b-nhq8thsy1c] {
    height: 40px;
    padding: 0 16px;
    color: var(--wf-gray-600);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    background: var(--wf-white);
    user-select: none;
}

/* ── Rows ── */

.vendor-row[b-nhq8thsy1c] {
    border-bottom: 1px solid var(--wf-gray-50);
    cursor: pointer;
    transition: background .08s;
}

.vendor-row:last-child[b-nhq8thsy1c] {
    border-bottom: none;
}

.vendor-row:hover[b-nhq8thsy1c] {
    background: var(--wf-gray-50);
}

.vendor-row.is-selected[b-nhq8thsy1c] {
    background: var(--wf-blue-50);
}

.vendor-row.is-selected:hover[b-nhq8thsy1c] {
    background: var(--wf-blue-100);
}

.vendor-table td[b-nhq8thsy1c] {
    padding: 0 16px;
    height: 48px;
    vertical-align: middle;
}

/* ── Checkbox + avatar column ── */

.th-check[b-nhq8thsy1c],
.td-check[b-nhq8thsy1c] {
    width: 72px;
    padding-left: 16px;
    padding-right: 4px;
}

.td-check[b-nhq8thsy1c] {
    position: relative;
    height: 48px;
    text-align: center;
}

/* Center both checkbox and avatar in the cell; stack on same spot */
.td-check .vd-check[b-nhq8thsy1c],
.td-check .vendor-avatar.sm[b-nhq8thsy1c] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .12s;
}

/* Avatar is purely decorative — never blocks clicks */
.td-check .vendor-avatar.sm[b-nhq8thsy1c] {
    pointer-events: none;
    z-index: 1;
}

/* Checkbox is always clickable but invisible until hover/selected */
.td-check .vd-check[b-nhq8thsy1c] {
    opacity: 0;
    z-index: 2;
}

.vendor-row:hover .td-check .vd-check[b-nhq8thsy1c],
.vendor-row.is-selected .td-check .vd-check[b-nhq8thsy1c] {
    opacity: 1;
}

.vendor-row:hover .td-check .vendor-avatar.sm[b-nhq8thsy1c],
.vendor-row.is-selected .td-check .vendor-avatar.sm[b-nhq8thsy1c] {
    opacity: 0;
}

/* Header master checkbox is always visible and centered */
.th-check[b-nhq8thsy1c] { text-align: center; }
.th-check .vd-check[b-nhq8thsy1c] { opacity: 1; }

/* Square, accessible checkbox */
.vd-check[b-nhq8thsy1c] {
    position: relative;
    display: inline-flex;
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
}

.vd-check input[b-nhq8thsy1c] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    margin: 0;
}

.vd-check-box[b-nhq8thsy1c] {
    position: absolute;
    inset: 0;
    border: 2px solid var(--wf-gray-400);
    border-radius: 3px;
    background: var(--wf-white);
    transition: background .1s, border-color .1s;
}

.vd-check input:hover + .vd-check-box[b-nhq8thsy1c] {
    border-color: var(--wf-blue-600);
}

.vd-check input:focus-visible + .vd-check-box[b-nhq8thsy1c] {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wf-blue-600) 25%, transparent);
}

.vd-check input:checked + .vd-check-box[b-nhq8thsy1c] {
    background: var(--wf-blue-600);
    border-color: var(--wf-blue-600);
}

.vd-check input:checked + .vd-check-box[b-nhq8thsy1c]::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 0px;
    width: 5px;
    height: 10px;
    border: solid var(--wf-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.vd-check[b-nhq8thsy1c]  .app-checkbox,
.vd-check[b-nhq8thsy1c]  .app-checkbox__row {
    width: 18px;
    min-height: 18px;
}

.vd-check[b-nhq8thsy1c]  .app-checkbox__row {
    display: block;
}

.vd-check[b-nhq8thsy1c]  .app-checkbox__input {
    width: 18px;
    height: 18px;
}

.vd-check[b-nhq8thsy1c]  .app-checkbox__copy {
    position: absolute;
}

/* Small row avatar shown beside the checkbox */
.vendor-avatar[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--wf-blue-600);
    color: var(--wf-white);
    font-size: .78rem;
    font-weight: 500;
    user-select: none;
    flex-shrink: 0;
}

.vendor-avatar-tone-0[b-nhq8thsy1c] { background: var(--wf-blue-600); }
.vendor-avatar-tone-1[b-nhq8thsy1c] { background: var(--wf-green-600); }
.vendor-avatar-tone-2[b-nhq8thsy1c] { background: var(--wf-red-600); }
.vendor-avatar-tone-3[b-nhq8thsy1c] { background: var(--wf-amber-500); }
.vendor-avatar-tone-4[b-nhq8thsy1c] { background: var(--wf-purple-600); }
.vendor-avatar-tone-5[b-nhq8thsy1c] { background: var(--wf-teal-600); }
.vendor-avatar-tone-6[b-nhq8thsy1c] { background: var(--wf-red-700); }
.vendor-avatar-tone-7[b-nhq8thsy1c] { background: var(--wf-amber-700); }
.vendor-avatar-tone-8[b-nhq8thsy1c] { background: var(--wf-gray-600); }
.vendor-avatar-tone-9[b-nhq8thsy1c] { background: var(--wf-green-700); }

.vendor-avatar.sm[b-nhq8thsy1c] {
    width: 32px;
    height: 32px;
    font-size: .72rem;
}

/* Sortable headers */

.vendor-table thead th.sortable[b-nhq8thsy1c] {
    cursor: pointer;
    transition: color .1s;
}

.vendor-table thead th.sortable:hover[b-nhq8thsy1c] { color: var(--wf-gray-900); }

.vendor-table thead th.sortable .sort-ind[b-nhq8thsy1c] {
    font-size: .65rem;
    margin-left: 4px;
    opacity: 0;
    transition: opacity .12s, transform .12s;
    vertical-align: middle;
}

.vendor-table thead th.sortable:hover .sort-ind[b-nhq8thsy1c] { opacity: .5; }
.vendor-table thead th.sort-asc .sort-ind[b-nhq8thsy1c],
.vendor-table thead th.sort-desc .sort-ind[b-nhq8thsy1c] { opacity: 1; color: var(--wf-blue-600); }
.vendor-table thead th.sort-asc .sort-ind[b-nhq8thsy1c] { transform: rotate(180deg); }

/* ── Name column ── */

.th-name[b-nhq8thsy1c],
.td-name[b-nhq8thsy1c] {
    min-width: 180px;
    max-width: 220px;
}

.name-line[b-nhq8thsy1c] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.vendor-name[b-nhq8thsy1c] {
    font-weight: 500;
    color: var(--wf-gray-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 210px;
    display: block;
}

.vendor-sub[b-nhq8thsy1c] {
    font-size: .73rem;
    color: var(--wf-gray-600);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 250px;
}

.name-line[b-nhq8thsy1c]  .vendor-inactive-indicator {
    flex-shrink: 0;
    font-size: .67rem;
}

/* ── Contacts column (merged name + title + email + phone) ── */

.th-contacts[b-nhq8thsy1c], .td-contacts[b-nhq8thsy1c] {
    min-width: 300px;
    width: 100%;
}

.td-contacts[b-nhq8thsy1c] { padding-top: 8px; padding-bottom: 8px; }

.contact-list[b-nhq8thsy1c] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.contact-list-items[b-nhq8thsy1c] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.contact-row[b-nhq8thsy1c] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 3px 0;
    min-width: 0;
}

.contact-list-items .contact-row + .contact-row[b-nhq8thsy1c] {
    border-top: 1px dashed var(--wf-gray-100);
    margin-top: 3px;
    padding-top: 6px;
}

.contact-row-top[b-nhq8thsy1c] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
    line-height: 1.25;
}

.contact-name[b-nhq8thsy1c] {
    font-weight: 500;
    color: var(--wf-gray-900);
    font-size: .85rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.contact-title[b-nhq8thsy1c] {
    font-size: .7rem;
    color: var(--wf-gray-600);
    font-weight: 400;
    padding: 0 6px;
    background: var(--wf-gray-50);
    border-radius: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    line-height: 1.6;
}

.contact-row-meta[b-nhq8thsy1c] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 14px;
    min-width: 0;
    line-height: 1.2;
}

.contact-link[b-nhq8thsy1c] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--wf-blue-600);
    text-decoration: none;
    font-size: .78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    min-width: 0;
}

.contact-link i[b-nhq8thsy1c] {
    color: var(--wf-gray-400);
    font-size: .75rem;
    flex-shrink: 0;
}

.contact-link span[b-nhq8thsy1c] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-link:hover[b-nhq8thsy1c] { text-decoration: underline; }

.contact-list[b-nhq8thsy1c]  .contact-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-top: 2px;
    padding: 2px 8px;
    border: 1px solid var(--wf-gray-200);
    background: var(--wf-white);
    border-radius: 10px;
    color: var(--wf-gray-600);
    font-size: .72rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s;
}

.contact-list[b-nhq8thsy1c]  .contact-more-btn:hover {
    background: var(--wf-gray-25);
    border-color: var(--wf-gray-300);
    color: var(--wf-gray-900);
}

.contact-list[b-nhq8thsy1c]  .contact-more-btn i { font-size: .7rem; }

.contact-list[b-nhq8thsy1c]  .contact-more-btn {
    min-height: auto;
}

.cell-val[b-nhq8thsy1c] {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--wf-gray-700);
}

.cell-empty[b-nhq8thsy1c] {
    color: var(--wf-gray-300);
}

/* ── Categories ── */

.th-categories[b-nhq8thsy1c], .td-categories[b-nhq8thsy1c] {
    min-width: 160px;
}

.td-categories[b-nhq8thsy1c]  .vendor-category-indicator {
    font-size: .7rem;
}

/* ── Actions column ── */

.th-actions[b-nhq8thsy1c], .td-actions[b-nhq8thsy1c] {
    width: 88px;
    padding-right: 16px;
}

.row-actions[b-nhq8thsy1c] {
    display: flex;
    gap: 2px;
    justify-content: flex-end;
    visibility: hidden;
}

.vendor-row:hover .row-actions[b-nhq8thsy1c] {
    visibility: visible;
}

.action-btn[b-nhq8thsy1c] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--wf-gray-600);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .12s, color .12s;
    font-size: .95rem;
    padding: 0;
}

.action-btn:hover[b-nhq8thsy1c] {
    background: var(--wf-gray-200);
    color: var(--wf-gray-900);
}

/* ── Clickable cell links (email / phone) ── */

.cell-link[b-nhq8thsy1c] {
    color: var(--wf-blue-600);
    text-decoration: none;
    transition: text-decoration .1s;
}

.cell-link:hover[b-nhq8thsy1c] {
    text-decoration: underline;
}

/* ── Mobile stacked meta (hidden on desktop) ── */

.mobile-meta[b-nhq8thsy1c] {
    display: none;
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
    font-size: .75rem;
    color: var(--wf-gray-600);
}

.mobile-meta .mm-item[b-nhq8thsy1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-meta .mm-link[b-nhq8thsy1c] {
    color: var(--wf-blue-600);
    text-decoration: none;
}

.mobile-meta .mm-link:active[b-nhq8thsy1c] { text-decoration: underline; }

.mobile-meta i[b-nhq8thsy1c] { font-size: .7rem; color: var(--wf-gray-400); }

/* ─────────────────────────────────────────────────────────────
   Responsive breakpoints
   ───────────────────────────────────────────────────────────── */

/* Tablet — narrow contacts column a bit */
@media (max-width: 1199.98px) {
    .th-contacts[b-nhq8thsy1c], .td-contacts[b-nhq8thsy1c] { min-width: 260px; max-width: 360px; }
}

/* Small tablet — hide categories, keep contacts */
@media (max-width: 991.98px) {
    .th-categories[b-nhq8thsy1c], .td-categories[b-nhq8thsy1c] { display: none; }
    .th-contacts[b-nhq8thsy1c], .td-contacts[b-nhq8thsy1c] { max-width: 320px; }
}

/* Mobile — collapse to name column + stacked meta */
@media (max-width: 767.98px) {
    .vd-header-strip[b-nhq8thsy1c] {
        width: 100%;
    }

    .vd-header-strip[b-nhq8thsy1c]  .vd-directory-search {
        width: 100%;
        min-width: 0;
        flex: 1 1 100%;
        order: 1;
    }

    .vd-header-strip[b-nhq8thsy1c]  .vd-category-filter { flex: 1 1 auto; order: 2; }
    .vd-header-strip[b-nhq8thsy1c]  .vd-clear-x { order: 3; }
    .vd-header-strip[b-nhq8thsy1c]  .vd-add-btn { order: 4; margin-left: auto; }

    .th-contacts[b-nhq8thsy1c], .td-contacts[b-nhq8thsy1c],
    .th-categories[b-nhq8thsy1c], .td-categories[b-nhq8thsy1c] {
        display: none;
    }

    .vendor-table thead th.sortable .sort-ind[b-nhq8thsy1c] { display: none; }

    /* Hide the desktop sort-header row; keep master checkbox visible */
    .th-name[b-nhq8thsy1c] { font-size: 0; }

    .th-check[b-nhq8thsy1c], .td-check[b-nhq8thsy1c] {
        width: 56px;
        padding-left: 12px;
    }

    .vendor-avatar.sm[b-nhq8thsy1c] { display: none; }

    .td-check .vd-check[b-nhq8thsy1c] {
        opacity: 1;
        pointer-events: auto;
        position: static;
        transform: none;
    }

    .td-name[b-nhq8thsy1c] {
        max-width: none;
        padding-left: 4px;
    }

    .vendor-table td[b-nhq8thsy1c] { height: auto; padding-top: 10px; padding-bottom: 10px; }
    .mobile-meta[b-nhq8thsy1c] { display: flex; }

    .vendor-sub[b-nhq8thsy1c] { display: none; }

    .row-actions[b-nhq8thsy1c] { visibility: visible; }

    .vd-sel-bar.is-visible[b-nhq8thsy1c] {
        height: auto;
        min-height: 48px;
        padding: 10px 12px;
        flex-wrap: wrap;
    }

    .vd-proj-select[b-nhq8thsy1c] { max-width: 100%; }
}
/* /Layout/AccessDeniedContent.razor.rz.scp.css */
.access-denied-page[b-5fjtguog5c] {
    display: grid;
    min-height: min(38rem, calc(100vh - 6rem));
    align-items: center;
}

.access-denied-card[b-5fjtguog5c] {
    overflow: hidden;
}

.access-denied[b-5fjtguog5c] {
    display: grid;
    gap: 1.5rem;
    padding: clamp(0.5rem, 2vw, 1.25rem);
}

.access-denied__icon-surface[b-5fjtguog5c] {
    display: inline-grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border: 1px solid var(--wf-red-200);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-red-50);
}

.access-denied__copy[b-5fjtguog5c] {
    display: grid;
    gap: 0.625rem;
}

.access-denied__eyebrow[b-5fjtguog5c] {
    margin: 0;
    color: var(--wf-color-danger);
    font-size: var(--wf-font-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.access-denied__copy h1[b-5fjtguog5c] {
    margin: 0;
    color: var(--wf-text);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
}

.access-denied__copy p:last-child[b-5fjtguog5c] {
    max-width: 58ch;
    margin: 0;
    color: var(--wf-text-secondary);
}

@media (max-width: 575.98px) {
    .access-denied-page[b-5fjtguog5c] {
        min-height: auto;
        align-items: start;
    }
}
/* /Layout/LoginDisplay.razor.rz.scp.css */
/* User Profile Styles */
.user-profile[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: 0.75rem;
    padding-left: 0.75rem;
    border-left: 1px solid var(--wf-border);
}

.user-greeting[b-e80x2bvyfu] {
    font-weight: 500;
    color: var(--wf-gray-700);
    font-size: 0.95rem;
}

.user-actions[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 0.125rem;
}

.user-actions[b-e80x2bvyfu]  .profile-link,
.user-actions[b-e80x2bvyfu]  .logout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--wf-text-muted);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    font-size: 1.05rem;
}

.user-actions[b-e80x2bvyfu]  .profile-link:hover,
.user-actions[b-e80x2bvyfu]  .logout-button:hover {
    background: var(--wf-gray-100);
    color: var(--wf-gray-700);
    text-decoration: none;
}

.user-actions[b-e80x2bvyfu]  .logout-button:hover {
    background: var(--wf-red-100);
    color: var(--wf-red-600);
}

/* Auth Links Styles */
.auth-links[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.auth-links[b-e80x2bvyfu]  .auth-link {
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s;
    font-size: 0.95rem;
}

.auth-links[b-e80x2bvyfu]  .auth-link:hover {
    text-decoration: none;
}

/* Mobile Responsiveness */
@media (max-width: 640.98px) {
    .user-greeting[b-e80x2bvyfu] {
        display: none;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* ============================================================
   MainLayout — Page shell, sidebar container, app header
   Zero !important.
   ============================================================ */

/* --- Page shell --------------------------------------------- */
.page[b-92910v8gtb] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* --- Skip link (accessibility) ------------------------------ */
.skip-link[b-92910v8gtb] {
    position: absolute;
    top: -40px;
    left: 0.75rem;
    z-index: 2000;
    background: var(--wf-gray-900);
    color: var(--wf-text-on-accent);
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    text-decoration: none;
    font-weight: 600;
}

.skip-link:focus-visible[b-92910v8gtb] {
    top: 0.75rem;
}

/* --- Sidebar container -------------------------------------- */
.sidebar[b-92910v8gtb] {
    background: var(--wf-gray-50);
    border-right: 1px solid var(--wf-border-hover);
}

/* --- Main content area -------------------------------------- */
.main-content[b-92910v8gtb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

main[b-92910v8gtb] {
    flex: 1;
}

/* --- App header --------------------------------------------- */
.app-header[b-92910v8gtb] {
    background: var(--wf-surface);
    border-bottom: 1px solid var(--wf-border);
    box-shadow: var(--wf-shadow-sm);
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.5rem;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-spacer[b-92910v8gtb] { flex: 1; }

.header-menu[b-92910v8gtb] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* --- Content area -------------------------------------------
   The only top spacing a page gets. Pages must not add their own,
   or every screen starts at a different height. */
.content[b-92910v8gtb] {
    padding: 1rem 1.5rem 1.5rem 1.5rem;
}

/* --- Mobile (≤ 640px) --------------------------------------- */
@media (max-width: 640px) {
    .sidebar[b-92910v8gtb] {
        position: relative;
        width: 100%;
        height: auto;
        border-right: none;
    }

    .app-header[b-92910v8gtb] {
        padding: 0 1rem;
        height: 3.5rem;
    }

    .header-menu[b-92910v8gtb] {
        gap: 0.75rem;
    }

    .content[b-92910v8gtb] {
        padding: 1rem 1rem 1.25rem;
    }
}

/* --- Desktop (≥ 641px) -------------------------------------- */
@media (min-width: 641px) {
    .page[b-92910v8gtb] {
        flex-direction: row;
    }

    .sidebar[b-92910v8gtb] {
        width: 240px;
        min-width: 240px;
        height: 100vh;
        position: sticky;
        top: 0;
        transition: width 0.25s ease, min-width 0.25s ease;
    }

    .sidebar:has(.collapsed-nav)[b-92910v8gtb] {
        width: 52px;
        min-width: 52px;
    }

    .content[b-92910v8gtb] {
        padding: 1rem 1.75rem 1.5rem 2rem;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* ============================================================
   NavMenu — Sidebar shell, brand bar, section headers
   Light theme. Zero !important. Responsive via media queries.
   ============================================================ */

/* --- Brand / Top Row ---------------------------------------- */
.top-row[b-wypcg6kmfs] {
    height: 3.5rem;
    display: flex;
    align-items: center;
    padding: 0 0.875rem;
    background: var(--wf-gray-50);
    border-bottom: 1px solid var(--wf-border-hover);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

/* Collapsed: hide brand, center the toggle button */
.top-row-collapsed[b-wypcg6kmfs] {
    padding: 0;
    justify-content: center;
    border-bottom-color: transparent;
}

.top-row-collapsed .top-row-inner[b-wypcg6kmfs] {
    width: auto;
    gap: 0;
}

.top-row-collapsed .navbar-brand[b-wypcg6kmfs] {
    display: none;
}

.top-row-inner[b-wypcg6kmfs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem;
}

.navbar-brand[b-wypcg6kmfs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    flex: 1;
    min-width: 0;
}

.navbar-brand:hover[b-wypcg6kmfs],
.navbar-brand:focus[b-wypcg6kmfs] {
    text-decoration: none;
    outline: none;
}

.brand-icon[b-wypcg6kmfs] {
    font-size: 1.125rem;
    color: var(--wf-amber-500);
    flex-shrink: 0;
    display: inline-block;
    line-height: 1;
    /* Reset Bootstrap .bi defaults */
    width: auto;
    height: auto;
    margin-right: 0;
    top: auto;
    position: static;
    background-size: auto;
}

.brand-name[b-wypcg6kmfs] {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--wf-gray-800);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Toggle Buttons ----------------------------------------- */
[b-wypcg6kmfs] .toggle-mobile,
[b-wypcg6kmfs] .toggle-desktop {
    flex-shrink: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--wf-gray-400);
    cursor: pointer;
    padding: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}

[b-wypcg6kmfs] .toggle-mobile:hover,
[b-wypcg6kmfs] .toggle-desktop:hover {
    background: var(--wf-gray-50);
    color: var(--wf-gray-600);
}

[b-wypcg6kmfs] .toggle-mobile:focus-visible,
[b-wypcg6kmfs] .toggle-desktop:focus-visible {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    color: var(--wf-gray-600);
}

/* Reset Bootstrap .bi defaults inside toggle buttons */
[b-wypcg6kmfs] .toggle-mobile .bi,
[b-wypcg6kmfs] .toggle-desktop .bi {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    vertical-align: middle;
    width: auto;
    height: auto;
    margin: 0;
    position: static;
    top: auto;
    background-size: auto;
}

/* Responsive visibility — no !important */
.toggle-mobile-slot[b-wypcg6kmfs] {
    display: flex;
    flex: 0 0 auto;
}

.toggle-desktop-slot[b-wypcg6kmfs] {
    display: none;
    flex: 0 0 auto;
}

/* --- Section Headers ---------------------------------------- */
[b-wypcg6kmfs] .nav-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    padding: 0.875rem 1rem 0.25rem;
    color: var(--wf-text-muted);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    user-select: none;
    line-height: 1;
    transition: color 0.15s;
}

[b-wypcg6kmfs] .nav-section-header:hover {
    color: var(--wf-gray-700);
}

[b-wypcg6kmfs] .nav-section-header:focus-visible {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Hide section icons in headers for clean label-only look */
[b-wypcg6kmfs] .nav-section-header .app-btn__content > span > .bi {
    display: none;
}

[b-wypcg6kmfs] .nav-section-header .app-btn__content {
    justify-content: space-between;
}

/* Chevron */
.nav-section-chevron[b-wypcg6kmfs] {
    display: inline-block;
    font-size: 0.5625rem;
    width: auto;
    height: auto;
    margin: 0;
    position: static;
    top: auto;
    opacity: 0.5;
    transition: transform 0.25s;
}

.nav-section-chevron.expanded[b-wypcg6kmfs] {
    transform: rotate(180deg);
}

/* --- Collapsible Section Content ---------------------------- */
.nav-section-content[b-wypcg6kmfs] {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.28s ease-out, opacity 0.2s;
}

.nav-section-content.expanded[b-wypcg6kmfs] {
    max-height: 700px;
    opacity: 1;
    transition: max-height 0.35s ease-in, opacity 0.25s;
}

/* --- Dividers & Sub-headers --------------------------------- */
.nav-section-divider[b-wypcg6kmfs] {
    height: 1px;
    background: var(--wf-gray-200);
    margin: 0.25rem 0.625rem;
}

.nav-sub-header[b-wypcg6kmfs] {
    padding: 0.625rem 1rem 0.125rem;
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wf-text-subtle);
}

/* --- Desktop (≥ 641px) -------------------------------------- */
@media (min-width: 641px) {
    .toggle-mobile-slot[b-wypcg6kmfs] { display: none; }
    .toggle-desktop-slot[b-wypcg6kmfs] { display: flex; }

    .nav-scrollable[b-wypcg6kmfs] {
        display: block;
        position: static;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-width: thin;
        scrollbar-color: var(--wf-gray-200) transparent;
    }

    .nav-scrollable[b-wypcg6kmfs]::-webkit-scrollbar { width: 3px; }
    .nav-scrollable[b-wypcg6kmfs]::-webkit-scrollbar-track { background: transparent; }
    .nav-scrollable[b-wypcg6kmfs]::-webkit-scrollbar-thumb {
        background: var(--wf-gray-200);
        border-radius: 3px;
    }
    .nav-scrollable[b-wypcg6kmfs]::-webkit-scrollbar-thumb:hover {
        background: var(--wf-gray-300);
    }
}

/* --- Mobile (≤ 640px) --------------------------------------- */
@media (max-width: 640px) {
    .top-row[b-wypcg6kmfs] {
        height: 3.5rem;
        position: sticky;
        top: 0;
        z-index: 1201;
    }

    .nav-scrollable[b-wypcg6kmfs] {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        padding-top: 3.5rem;
        background: var(--wf-gray-50);
        overflow-y: auto;
        z-index: 1200;
        transform: translateX(-100%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.25s, opacity 0.2s;
    }

    .nav-scrollable.mobile-open[b-wypcg6kmfs] {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

    /* Re-declare collapse transitions for mobile context */
    .nav-section-content[b-wypcg6kmfs] {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.28s ease-out, opacity 0.2s;
    }

    .nav-section-content.expanded[b-wypcg6kmfs] {
        max-height: 700px;
        opacity: 1;
    }
}

/* --- Reduced Motion ----------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .nav-section-chevron[b-wypcg6kmfs],
    .nav-section-content[b-wypcg6kmfs],
    .nav-section-content.expanded[b-wypcg6kmfs],
    .nav-scrollable[b-wypcg6kmfs],
    [b-wypcg6kmfs] .toggle-mobile,
    [b-wypcg6kmfs] .toggle-desktop {
        transition: none;
    }
}
/* /Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-fur3kznvz9] {
    min-height: 100vh;
}

.public-skip-link[b-fur3kznvz9] {
    position: fixed;
    top: -3rem;
    left: 1rem;
    z-index: 1000;
    padding: 0.65rem 1rem;
    background: var(--wf-gray-900);
    color: var(--wf-text-on-accent);
    border-radius: 0.35rem;
    transition: top 120ms ease;
}

.public-skip-link:focus-visible[b-fur3kznvz9] {
    top: 1rem;
}
/* /Shared/Buttons/AppActionLink.razor.rz.scp.css */
.app-action-link[b-0hhn9jo4kb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: var(--wf-component-height, var(--wf-control-height-md));
    padding-inline: var(--wf-component-padding-inline, var(--wf-control-padding-md));
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    transition:
        color var(--wf-transition-fast),
        background-color var(--wf-transition-fast),
        border-color var(--wf-transition-fast),
        box-shadow var(--wf-transition-fast);
}

.app-action-link:focus-visible[b-0hhn9jo4kb] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    box-shadow: var(--wf-focus-ring);
}

.app-action-link.app-control--full[b-0hhn9jo4kb] {
    width: 100%;
}

.app-action-link.app-control--icon-only[b-0hhn9jo4kb] {
    aspect-ratio: 1;
    padding-inline: 0.625rem;
}

.app-action-link.is-disabled[b-0hhn9jo4kb] {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

.app-action-link__content[b-0hhn9jo4kb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 0.4375rem;
    line-height: 1;
}

.app-action-link__icon[b-0hhn9jo4kb] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    font-size: 1em;
    line-height: 1;
}

.app-action-link.app-control--ghost[b-0hhn9jo4kb] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-text-secondary);
}

.app-action-link.app-control--ghost:hover[b-0hhn9jo4kb] {
    background-color: var(--wf-gray-100);
    color: var(--wf-text);
    text-decoration: none;
}

.app-action-link.app-control--ghost-danger[b-0hhn9jo4kb] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-color-danger);
}

.app-action-link.app-control--ghost-danger:hover[b-0hhn9jo4kb] {
    border-color: var(--wf-red-200);
    background-color: var(--wf-red-50);
    color: var(--wf-red-700);
    text-decoration: none;
}

.app-action-link.app-control--link[b-0hhn9jo4kb] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-color-primary);
}

.app-action-link.app-control--link:hover[b-0hhn9jo4kb] {
    color: var(--wf-blue-700);
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .app-action-link[b-0hhn9jo4kb] {
        transition: none;
    }
}
/* /Shared/Buttons/AppButton.razor.rz.scp.css */
.app-btn[b-kn0etxpt5q] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: var(--wf-component-height, var(--wf-control-height-md));
    padding-inline: var(--wf-component-padding-inline, var(--wf-control-padding-md));
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    transition:
        color var(--wf-transition-fast),
        background-color var(--wf-transition-fast),
        border-color var(--wf-transition-fast),
        box-shadow var(--wf-transition-fast);
}

.app-btn.btn:focus-visible[b-kn0etxpt5q] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 2px;
    box-shadow: none;
}

.app-btn.btn:focus:not(:focus-visible)[b-kn0etxpt5q] {
    outline: none;
    box-shadow: none;
}

.app-btn:disabled[b-kn0etxpt5q],
.app-btn.is-disabled[b-kn0etxpt5q] {
    cursor: not-allowed;
    opacity: 0.65;
}

.app-btn.app-control--full[b-kn0etxpt5q] {
    width: 100%;
}

.app-btn.app-control--icon-only[b-kn0etxpt5q] {
    aspect-ratio: 1;
    padding-inline: 0.625rem;
}

.app-btn__frame[b-kn0etxpt5q] {
    display: grid;
    width: 100%;
    place-items: center;
}

.app-btn__content[b-kn0etxpt5q],
.app-btn__loader[b-kn0etxpt5q] {
    grid-area: 1 / 1;
}

.app-btn__content[b-kn0etxpt5q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 0.4375rem;
    line-height: 1;
}

.app-btn__content--loading[b-kn0etxpt5q] {
    visibility: hidden;
}

.app-btn__loader[b-kn0etxpt5q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-btn__icon[b-kn0etxpt5q] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    font-size: 1em;
    line-height: 1;
}

.app-btn.app-control--ghost[b-kn0etxpt5q] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-text-secondary);
}

.app-btn.app-control--ghost:hover:not(:disabled)[b-kn0etxpt5q] {
    background-color: var(--wf-gray-100);
    color: var(--wf-text);
}

.app-btn.app-control--ghost-danger[b-kn0etxpt5q] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-color-danger);
}

.app-btn.app-control--ghost-danger:hover:not(:disabled)[b-kn0etxpt5q] {
    border-color: var(--wf-red-200);
    background-color: var(--wf-red-50);
    color: var(--wf-red-700);
}

.app-btn.app-control--link[b-kn0etxpt5q] {
    border-color: transparent;
    background-color: transparent;
    color: var(--wf-color-primary);
}

.app-btn.app-control--link:hover:not(:disabled)[b-kn0etxpt5q] {
    color: var(--wf-blue-700);
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .app-btn[b-kn0etxpt5q] {
        transition: none;
    }
}
/* /Shared/Cards/ActionCard.razor.rz.scp.css */
.action-card--clickable[b-stf82vev1g] {
    cursor: pointer;
    transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.card-hover:hover[b-stf82vev1g] {
    transform: translateY(-2px);
    box-shadow: var(--wf-shadow-overlay) 0 4px 8px !important;
}
/* /Shared/Cards/StatCard.razor.rz.scp.css */
.stat-icon-badge[b-zepgn0tr67] {
    display: flex;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.25rem;
}

.stat-badge-primary[b-zepgn0tr67] { background: var(--wf-blue-50); color: var(--wf-blue-600); }
.stat-badge-success[b-zepgn0tr67] { background: var(--wf-green-50); color: var(--wf-green-600); }
.stat-badge-warning[b-zepgn0tr67] { background: var(--wf-amber-50); color: var(--wf-amber-600); }
.stat-badge-danger[b-zepgn0tr67] { background: var(--wf-red-50); color: var(--wf-red-600); }
.stat-badge-info[b-zepgn0tr67] { background: var(--wf-teal-50); color: var(--wf-teal-600); }
.stat-badge-purple[b-zepgn0tr67] { background: var(--wf-purple-50); color: var(--wf-purple-600); }
/* /Shared/Common/AppAsyncContent.razor.rz.scp.css */
.app-async-content[b-fwafzldwfm] { min-width: 0; }

.app-async-content__error[b-fwafzldwfm],
.app-async-content__empty[b-fwafzldwfm] {
    display: flex;
    min-height: 12rem;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    text-align: center;
}

.app-async-content__error[b-fwafzldwfm] { flex-direction: column; }
.app-async-content__empty[b-fwafzldwfm] { flex-direction: column; }

.app-async-content__state-copy[b-fwafzldwfm] {
    display: flex;
    max-width: 42rem;
    align-items: flex-start;
    gap: 0.875rem;
    text-align: left;
}

.app-async-content__title[b-fwafzldwfm] {
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 650;
}

.app-async-content__description[b-fwafzldwfm] {
    max-width: 62ch;
    margin: 0.375rem 0 0;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    line-height: 1.55;
}

@media (max-width: 359.98px) {
    .app-async-content__state-copy[b-fwafzldwfm] {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}
/* /Shared/Common/DebouncedSearchInput.razor.rz.scp.css */
.debounced-search-input .input-group-text[b-1mbag7z4cy] {
    border-color: var(--wf-border-hover);
    background-color: var(--wf-gray-50);
}

.debounced-search-input .form-control:disabled[b-1mbag7z4cy] {
    background-color: var(--wf-gray-100);
    opacity: 0.7;
}

.debounced-search-input .btn:disabled[b-1mbag7z4cy] { opacity: 0.5; }
/* /Shared/Common/VirtualScrollList.razor.rz.scp.css */
.virtual-scroll-container[b-ou40baetq4] {
    overflow-y: auto;
    border: 1px solid var(--wf-border);
    border-radius: 0.375rem;
}

.virtual-scroll-container--small[b-ou40baetq4] { height: 18rem; }
.virtual-scroll-container--medium[b-ou40baetq4] { height: 25rem; }
.virtual-scroll-container--large[b-ou40baetq4] { height: 36rem; }
.virtual-scroll-container--viewport[b-ou40baetq4] { height: min(70vh, 48rem); }

.virtual-scroll-placeholder[b-ou40baetq4] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--wf-border);
    background-color: var(--wf-gray-50);
    color: var(--wf-text-muted);
    font-size: 0.875rem;
}

.virtual-scroll-placeholder--compact[b-ou40baetq4] { height: 2.75rem; }
.virtual-scroll-placeholder--comfortable[b-ou40baetq4] { height: 3.75rem; }
.virtual-scroll-placeholder--spacious[b-ou40baetq4] { height: 4.5rem; }
.virtual-scroll-placeholder:last-child[b-ou40baetq4] { border-bottom: none; }

@media (max-width: 575.98px) {
    .virtual-scroll-container--large[b-ou40baetq4],
    .virtual-scroll-container--viewport[b-ou40baetq4] { height: 70vh; }
}
/* /Shared/Containers/AppPaper.razor.rz.scp.css */
.app-paper[b-hjo92w3cl4] {
    min-width: 0;
    border-radius: var(--wf-radius-lg);
    background-color: var(--wf-surface);
    transition:
        border-color var(--wf-transition-fast),
        box-shadow var(--wf-transition-fast);
}

.app-paper--elevation-none[b-hjo92w3cl4] { border: 1px solid var(--wf-border-subtle); box-shadow: none; }
.app-paper--elevation-sm[b-hjo92w3cl4] { border: 1px solid var(--wf-border-subtle); box-shadow: var(--wf-shadow-xs); }
.app-paper--elevation-md[b-hjo92w3cl4] { border: 1px solid var(--wf-border-subtle); box-shadow: var(--wf-shadow); }
.app-paper--elevation-lg[b-hjo92w3cl4] {
    border: 1px solid var(--wf-border-subtle);
    box-shadow: 0 10px 15px -3px var(--wf-shadow-overlay), 0 4px 6px -4px var(--wf-shadow-overlay);
}
.app-paper--elevation-flat[b-hjo92w3cl4] { border: 1px solid var(--wf-border); background-color: var(--wf-gray-50); }
.app-paper--elevation-outline[b-hjo92w3cl4] { border: 1px solid var(--wf-border-hover); background-color: transparent; }

.app-paper-header[b-hjo92w3cl4] {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--wf-border-subtle);
}

.app-paper-header__copy[b-hjo92w3cl4] {
    min-width: 0;
}

.app-paper-title[b-hjo92w3cl4] {
    display: flex;
    min-width: 0;
    align-items: center;
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.app-paper-title__icon[b-hjo92w3cl4] {
    flex: 0 0 auto;
    margin-right: 0.5rem;
    color: var(--wf-color-primary);
}

.app-paper-subtitle[b-hjo92w3cl4] {
    margin: 0.25rem 0 0;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    overflow-wrap: anywhere;
}

.app-paper-actions[b-hjo92w3cl4] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
}

.app-paper-body[b-hjo92w3cl4] {
    min-width: 0;
}

.app-paper-body--padding-none[b-hjo92w3cl4] { padding: 0; }
.app-paper-body--padding-sm[b-hjo92w3cl4] { padding: 0.875rem 1rem; }
.app-paper-body--padding-md[b-hjo92w3cl4] { padding: 1.5rem; }
.app-paper-body--padding-lg[b-hjo92w3cl4] { padding: 2rem; }

.app-paper-footer[b-hjo92w3cl4] {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--wf-border-subtle);
    border-radius: 0 0 var(--wf-radius-lg) var(--wf-radius-lg);
    background-color: var(--wf-gray-50);
}

@media (max-width: 575.98px) {
    .app-paper-header[b-hjo92w3cl4] {
        align-items: stretch;
        padding: 1rem;
        flex-direction: column;
    }

    .app-paper-actions[b-hjo92w3cl4] {
        flex-wrap: wrap;
    }

    .app-paper-body--padding-md[b-hjo92w3cl4],
    .app-paper-body--padding-lg[b-hjo92w3cl4] {
        padding: 1rem;
    }

    .app-paper-footer[b-hjo92w3cl4] {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-paper[b-hjo92w3cl4] {
        transition: none;
    }
}
/* /Shared/DesignSystem/AppCheckbox.razor.rz.scp.css */
.app-checkbox[b-ynvt11nrck] {
    display: block;
    min-width: 0;
}

.app-checkbox__row[b-ynvt11nrck] {
    display: grid;
    min-height: var(--wf-component-height, var(--wf-control-height-md));
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
}

.app-checkbox__input[b-ynvt11nrck] {
    width: 1.125rem;
    height: 1.125rem;
    margin: 0;
    accent-color: var(--wf-color-primary);
    cursor: pointer;
}

.app-checkbox__input:focus-visible[b-ynvt11nrck] {
    outline: 0;
    box-shadow: var(--wf-focus-ring);
}

.app-checkbox__input.invalid[b-ynvt11nrck] { outline: 1px solid var(--wf-color-danger); }
.app-checkbox__input:disabled[b-ynvt11nrck] { cursor: not-allowed; opacity: 0.65; }
.app-checkbox__copy[b-ynvt11nrck] { min-width: 0; }

.app-checkbox__label[b-ynvt11nrck] {
    display: inline-block;
    color: var(--wf-text);
    cursor: pointer;
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    font-weight: 600;
    line-height: 1.35;
}

.app-checkbox__input:disabled + .app-checkbox__copy .app-checkbox__label[b-ynvt11nrck] { cursor: not-allowed; }
.app-checkbox__required[b-ynvt11nrck] { color: var(--wf-color-danger); }

.app-checkbox__help[b-ynvt11nrck],
.app-checkbox__error[b-ynvt11nrck] {
    margin-top: 0.25rem;
    font-size: var(--wf-font-xs-plus);
    line-height: 1.45;
}

.app-checkbox__help[b-ynvt11nrck] { color: var(--wf-text-muted); }
.app-checkbox__error[b-ynvt11nrck] { color: var(--wf-red-700); }
.app-checkbox__error:empty[b-ynvt11nrck] { display: none; }

.wf-control--small .app-checkbox__input[b-ynvt11nrck] { width: 1rem; height: 1rem; }
.wf-control--large .app-checkbox__input[b-ynvt11nrck] { width: 1.25rem; height: 1.25rem; }
/* /Shared/DesignSystem/AppDateField.razor.rz.scp.css */
.app-date-field__frame[b-vtp5xp83ea] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.app-date-field__input[b-vtp5xp83ea] {
    width: 100%;
    min-width: 0;
    position: relative;
    z-index: 1;
    background-color: transparent;
}

.app-date-field__mask-guide[b-vtp5xp83ea] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0.375rem 0.625rem;
    padding-inline-end: var(--wf-component-height, var(--wf-control-height-md));
    pointer-events: none;
    font-family: inherit;
    font-size: var(--wf-font-sm);
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    white-space: pre;
    overflow: hidden;
    z-index: 0;
    user-select: none;
    box-sizing: border-box;
}

.app-date-field__input:placeholder-shown ~ .app-date-field__mask-guide[b-vtp5xp83ea] {
    opacity: 0;
}

.app-date-field__mask-filled[b-vtp5xp83ea] {
    visibility: hidden;
    white-space: pre;
}

.app-date-field__mask-ghost[b-vtp5xp83ea] {
    color: var(--wf-text-muted);
    white-space: pre;
    opacity: 0.85;
}

/* WattFarmer owns the complete date and date-time interaction. */

.app-date-field__trigger[b-vtp5xp83ea] {
    display: inline-grid;
    width: var(--wf-component-height, var(--wf-control-height-md));
    min-width: var(--wf-component-height, var(--wf-control-height-md));
    border: 0;
    border-inline-start: 1px solid var(--wf-border);
    background: var(--wf-surface);
    color: var(--wf-text-secondary);
    cursor: pointer;
    place-items: center;
}

.app-date-field__trigger:hover:not(:disabled)[b-vtp5xp83ea] {
    background: var(--wf-gray-50);
    color: var(--wf-text);
}

.app-date-field__trigger:disabled[b-vtp5xp83ea] {
    color: var(--wf-text-subtle);
    cursor: not-allowed;
}

.app-date-field__trigger:focus-visible[b-vtp5xp83ea] {
    outline: 2px solid var(--wf-color-primary);
    outline-offset: -3px;
}

.app-date-field__calendar[b-vtp5xp83ea] {
    --app-date-picker-min-width: 16.75rem;
    --app-date-picker-max-width: 19rem;
    position: fixed;
    z-index: 1090;
    width: min(
        var(--wf-popup-available-width, calc(100vw - 1rem)),
        clamp(
            var(--app-date-picker-min-width),
            var(--wf-popup-anchor-width, 18rem),
            var(--app-date-picker-max-width)
        )
    );
    box-sizing: border-box;
    padding: 0.625rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface);
    box-shadow: var(--wf-shadow);
}

.app-date-field__calendar-head[b-vtp5xp83ea] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
    gap: 0.25rem;
}

.app-date-field__scope[b-vtp5xp83ea] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.4rem;
    border: 0;
    border-radius: var(--wf-radius-sm);
    background: transparent;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
    font-weight: 600;
    gap: 0.3rem;
}

.app-date-field__scope--action[b-vtp5xp83ea] {
    cursor: pointer;
}

.app-date-field__scope--action:hover[b-vtp5xp83ea] {
    background: var(--wf-surface-subtle);
}

.app-date-field__scope--action i[b-vtp5xp83ea] {
    color: var(--wf-text-muted);
    font-size: 0.65rem;
}

.app-date-field__nav[b-vtp5xp83ea] {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: var(--wf-radius-sm);
    background: transparent;
    color: var(--wf-text-secondary);
    cursor: pointer;
    font-size: 0.75rem;
    place-items: center;
}

.app-date-field__nav:hover[b-vtp5xp83ea] {
    background: var(--wf-surface-subtle);
    color: var(--wf-text);
}

.app-date-field__week[b-vtp5xp83ea] {
    display: grid;
    gap: 0.125rem;
    grid-template-columns: repeat(7, 1fr);
}

.app-date-field__choices[b-vtp5xp83ea] {
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(3, 1fr);
}

.app-date-field__weekday[b-vtp5xp83ea] {
    display: grid;
    height: 1.75rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs);
    font-weight: 600;
    place-items: center;
    text-transform: uppercase;
}

.app-date-field__cell[b-vtp5xp83ea] {
    display: grid;
    min-width: 0;
    height: 2.25rem;
    border: 0;
    border-radius: var(--wf-radius-sm);
    background: transparent;
    color: var(--wf-text);
    cursor: pointer;
    font-size: 0.875rem;
    place-items: center;
}

.app-date-field__cell--wide[b-vtp5xp83ea] {
    height: 2.75rem;
}

.app-date-field__cell:hover:not(:disabled)[b-vtp5xp83ea] {
    background: var(--wf-surface-subtle);
}

.app-date-field__cell.is-outside[b-vtp5xp83ea] {
    color: var(--wf-text-subtle);
}

.app-date-field__cell.is-today[b-vtp5xp83ea] {
    box-shadow: inset 0 0 0 1px var(--wf-border-hover);
    font-weight: 700;
}

.app-date-field__cell.is-selected[b-vtp5xp83ea] {
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
    font-weight: 600;
}

/* Hover has to darken the chosen cell, not replace its fill: the label on it is white. */
.app-date-field__cell.is-selected:hover:not(:disabled)[b-vtp5xp83ea] {
    background: var(--wf-color-primary-dark);
    color: var(--wf-text-on-accent);
}

.app-date-field__cell:disabled[b-vtp5xp83ea] {
    color: var(--wf-text-placeholder);
    cursor: not-allowed;
}

.app-date-field__cell:focus-visible[b-vtp5xp83ea] {
    outline: 2px solid var(--wf-border-focus);
    outline-offset: -2px;
}

.app-date-field__calendar-foot[b-vtp5xp83ea] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--wf-border-subtle);
}

.app-date-field__action[b-vtp5xp83ea] {
    min-height: 2.5rem;
    padding: 0.4rem 0.65rem;
    border: 0;
    border-radius: var(--wf-radius-sm);
    background: transparent;
    color: var(--wf-color-primary);
    cursor: pointer;
    font-size: var(--wf-font-sm);
    font-weight: 600;
}

.app-date-field__action--end[b-vtp5xp83ea] {
    margin-inline-start: auto;
}

.app-date-field__action:hover[b-vtp5xp83ea] {
    background: var(--wf-surface-accent);
}

.app-date-field__action--primary[b-vtp5xp83ea] {
    margin-inline-start: 0.25rem;
    background: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
}

.app-date-field__action--primary:hover:not(:disabled)[b-vtp5xp83ea] {
    background: var(--wf-color-primary-dark);
}

.app-date-field__action:disabled[b-vtp5xp83ea] {
    color: var(--wf-text-subtle);
    cursor: not-allowed;
    opacity: 0.7;
}

.app-date-field__time[b-vtp5xp83ea] {
    margin: 0.625rem 0 0;
    padding: 0.625rem;
    border: 1px solid var(--wf-border-subtle);
    border-radius: var(--wf-radius-md);
    background: var(--wf-surface-subtle);
}

.app-date-field__time legend[b-vtp5xp83ea] {
    float: none;
    width: auto;
    margin: 0 0 0.375rem;
    color: var(--wf-text);
    font-size: 0.875rem;
    font-weight: 700;
}

.app-date-field__time-controls[b-vtp5xp83ea] {
    display: flex;
    align-items: end;
    gap: 0.375rem;
}

.app-date-field__time-controls label[b-vtp5xp83ea] {
    display: grid;
    color: var(--wf-text-secondary);
    font-size: 0.75rem;
    font-weight: 650;
    gap: 0.2rem;
}

.app-date-field__time-select[b-vtp5xp83ea] {
    min-width: 4.5rem;
    min-height: 2.5rem;
    padding: 0.375rem 1.75rem 0.375rem 0.625rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-sm);
    background: var(--wf-surface);
    color: var(--wf-text);
    font: inherit;
    font-size: 0.875rem;
}

.app-date-field__time-select:focus-visible[b-vtp5xp83ea] {
    border-color: var(--wf-border-focus);
    outline: 2px solid var(--wf-border-focus);
    outline-offset: 1px;
}

.app-date-field__time-period[b-vtp5xp83ea] { min-width: 4.75rem; }

.app-date-field__time-separator[b-vtp5xp83ea] {
    padding-bottom: 0.55rem;
    color: var(--wf-text);
    font-weight: 800;
}

.app-date-field__time-error[b-vtp5xp83ea] {
    margin-top: 0.375rem;
    color: var(--wf-color-danger);
    font-size: 0.75rem;
    line-height: 1.35;
}

@media (max-width: 360px) {
    .app-date-field__calendar[b-vtp5xp83ea] { padding: 0.5rem; }
    .app-date-field__time-controls[b-vtp5xp83ea] { flex-wrap: wrap; }
}
/* /Shared/DesignSystem/AppFilePicker.razor.rz.scp.css */
/* The native file input keeps every accessibility and validation behaviour, but the
   browser paints its own button and status text in the browser's own language. The input
   is therefore laid transparently over chrome this component owns, so the control reads
   the same everywhere and its copy stays under our control.

   The input is rendered by the InputFile child component, so scoped selectors that target
   it must go through ::deep; a plain `.app-file-picker__input` rule is emitted with this
   component's scope attribute and never matches the child's element. */
.app-file-picker__frame[b-lwitdl591d] {
    min-width: 0;
    align-items: center;
    gap: var(--wf-space-2);
    padding-inline-end: var(--wf-component-padding-inline, var(--wf-control-padding-md));
}

.app-file-picker--trigger-only[b-lwitdl591d] {
    position: fixed;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.app-file-picker__frame[b-lwitdl591d]  .app-file-picker__input {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    opacity: 0;
    cursor: pointer;
}

.app-file-picker__trigger[b-lwitdl591d] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
    align-self: stretch;
    padding-inline: var(--wf-component-padding-inline, var(--wf-control-padding-md));
    border-inline-end: 1px solid var(--wf-border);
    background: var(--wf-gray-50);
    color: var(--wf-text);
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    font-weight: 600;
    white-space: nowrap;
}

.app-file-picker__trigger-icon[b-lwitdl591d] {
    color: var(--wf-text-secondary);
}

.app-file-picker__value[b-lwitdl591d] {
    min-width: 0;
    overflow: hidden;
    color: var(--wf-text-secondary);
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-file-picker__frame:hover .app-file-picker__trigger[b-lwitdl591d] {
    background: var(--wf-gray-100);
}

.app-file-picker__frame:has(.app-file-picker__input:disabled)[b-lwitdl591d] {
    background: var(--wf-gray-50);
}

.app-file-picker__frame:has(.app-file-picker__input:disabled)[b-lwitdl591d]  .app-file-picker__input {
    cursor: not-allowed;
}

.app-file-picker__frame:has(.app-file-picker__input:disabled) .app-file-picker__trigger[b-lwitdl591d] {
    cursor: not-allowed;
    color: var(--wf-text-muted);
}

.app-file-picker__frame:has(.app-file-picker__input:disabled) .app-file-picker__value[b-lwitdl591d] {
    color: var(--wf-text-muted);
}
/* /Shared/DesignSystem/AppIcon.razor.rz.scp.css */
.app-icon[b-p6kua18n6g] {
    --app-icon-size-xs: 0.75rem;
    --app-icon-size-sm: 0.875rem;
    --app-icon-size-md: 1rem;
    --app-icon-size-lg: 1.25rem;
    --app-icon-size-xl: 1.5rem;
    --app-icon-size-display: 2rem;
    --app-icon-spin-duration: 1.5s;

    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
}

.app-icon--size-xs[b-p6kua18n6g] {
    font-size: var(--app-icon-size-xs);
}

.app-icon--size-sm[b-p6kua18n6g] {
    font-size: var(--app-icon-size-sm);
}

.app-icon--size-md[b-p6kua18n6g] {
    font-size: var(--app-icon-size-md);
}

.app-icon--size-lg[b-p6kua18n6g] {
    font-size: var(--app-icon-size-lg);
}

.app-icon--size-xl[b-p6kua18n6g] {
    font-size: var(--app-icon-size-xl);
}

.app-icon--size-display[b-p6kua18n6g] {
    font-size: var(--app-icon-size-display);
}

.app-icon--tone-primary[b-p6kua18n6g] {
    color: var(--wf-color-primary);
}

.app-icon--tone-secondary[b-p6kua18n6g] {
    color: var(--wf-color-secondary);
}

.app-icon--tone-success[b-p6kua18n6g] {
    color: var(--wf-green-700);
}

.app-icon--tone-danger[b-p6kua18n6g] {
    color: var(--wf-color-danger);
}

.app-icon--tone-warning[b-p6kua18n6g] {
    color: var(--wf-amber-700);
}

.app-icon--tone-info[b-p6kua18n6g] {
    color: var(--wf-teal-700);
}

.app-icon--tone-muted[b-p6kua18n6g] {
    color: var(--wf-text-muted);
}

.app-icon--tone-on-accent[b-p6kua18n6g] {
    color: var(--wf-text-on-accent);
}

.app-icon--spin[b-p6kua18n6g] {
    animation: app-icon-spin-b-p6kua18n6g var(--app-icon-spin-duration) linear infinite;
}

@keyframes app-icon-spin-b-p6kua18n6g {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-icon--spin[b-p6kua18n6g] {
        animation: none;
        transform: none;
    }
}
/* /Shared/DesignSystem/AppNumberField.razor.rz.scp.css */
.app-number-field__frame[b-r2q6pg8pnm] { align-items: stretch; }
.app-number-field__input[b-r2q6pg8pnm] { min-width: 4.5rem; }
.app-number-field__affix[b-r2q6pg8pnm] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding-inline: 0.75rem;
    border-inline-end: 1px solid var(--wf-border);
    background: var(--wf-gray-50);
    color: var(--wf-text-secondary);
    font-size: var(--wf-component-font-size, var(--wf-font-sm));
    font-weight: 600;
}
.app-number-field__input + .app-number-field__affix[b-r2q6pg8pnm] {
    border-inline-start: 1px solid var(--wf-border);
    border-inline-end: 0;
}
/* /Shared/DesignSystem/AppRadioGroup.razor.rz.scp.css */
.app-radio-group[b-x3qij231xi] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.app-radio-group__legend[b-x3qij231xi] {
    float: none;
    width: auto;
    margin: 0 0 0.4rem;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
    font-weight: 600;
    line-height: 1.35;
}

.app-radio-group__required[b-x3qij231xi] { color: var(--wf-color-danger); }

.app-radio-group__help[b-x3qij231xi],
.app-radio-group__error[b-x3qij231xi] {
    margin-bottom: 0.5rem;
    font-size: var(--wf-font-xs-plus);
    line-height: 1.45;
}

.app-radio-group__help[b-x3qij231xi] { color: var(--wf-text-muted); }
.app-radio-group__error[b-x3qij231xi] { margin-top: 0.5rem; margin-bottom: 0; color: var(--wf-red-700); }
.app-radio-group__error:empty[b-x3qij231xi] { display: none; }

.app-radio-group__options[b-x3qij231xi] { display: grid; gap: 0.625rem; }
.app-radio-group--inline .app-radio-group__options[b-x3qij231xi] { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; }
.app-radio-group--cards .app-radio-group__options[b-x3qij231xi] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.app-radio-group--segmented .app-radio-group__options[b-x3qij231xi] {
    display: inline-flex;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-gray-50);
}

.app-radio-group__option[b-x3qij231xi] {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.625rem;
    color: var(--wf-text);
    cursor: pointer;
}

.app-radio-group__input[b-x3qij231xi] {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    margin-top: 0.15rem;
    accent-color: var(--wf-color-primary);
}

.app-radio-group__indicator[b-x3qij231xi] { display: none; }
.app-radio-group__copy[b-x3qij231xi] { display: grid; min-width: 0; gap: 0.125rem; }
.app-radio-group__label[b-x3qij231xi] { font-size: var(--wf-component-font-size, var(--wf-font-base)); font-weight: 600; }
.app-radio-group__description[b-x3qij231xi] { color: var(--wf-text-muted); font-size: var(--wf-font-sm); line-height: 1.4; }
.app-radio-group__option--disabled[b-x3qij231xi] { cursor: not-allowed; opacity: 0.62; }
.app-radio-group__input:focus-visible[b-x3qij231xi] { outline: 2px solid var(--wf-color-primary); outline-offset: 2px; }

.app-radio-group--cards .app-radio-group__option[b-x3qij231xi] {
    padding: 0.875rem;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-surface);
    transition: border-color var(--wf-transition-fast), box-shadow var(--wf-transition-fast);
}

.app-radio-group--cards .app-radio-group__option:has(.app-radio-group__input:checked)[b-x3qij231xi] {
    border-color: var(--wf-color-primary);
    box-shadow: var(--wf-focus-ring);
}

.app-radio-group--segmented .app-radio-group__option[b-x3qij231xi] {
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    border-radius: var(--wf-radius);
}

.app-radio-group--segmented .app-radio-group__input[b-x3qij231xi] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.app-radio-group--segmented .app-radio-group__option:has(.app-radio-group__input:checked)[b-x3qij231xi] {
    background: var(--wf-surface);
    color: var(--wf-color-primary);
    box-shadow: var(--wf-shadow-xs);
}

.app-radio-group--segmented .app-radio-group__option:has(.app-radio-group__input:focus-visible)[b-x3qij231xi] {
    outline: 2px solid var(--wf-color-primary);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .app-radio-group--segmented .app-radio-group__options[b-x3qij231xi] { display: grid; width: 100%; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .app-radio-group--cards .app-radio-group__option[b-x3qij231xi] { transition: none; }
}
/* /Shared/DesignSystem/AppSelect.razor.rz.scp.css */
.app-select__frame[b-dhms8hv4ew] {
    position: relative;
    min-width: 0;
}

.app-select__input[b-dhms8hv4ew] {
    width: 100%;
    cursor: pointer;
    overflow: hidden;
    padding-inline-end: calc(var(--wf-component-padding-inline, var(--wf-control-padding-md)) + 1rem);
    text-overflow: ellipsis;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.app-select__input:disabled[b-dhms8hv4ew] {
    cursor: not-allowed;
}

.app-select__caret[b-dhms8hv4ew] {
    position: absolute;
    top: 50%;
    right: var(--wf-component-padding-inline, var(--wf-control-padding-md));
    transform: translateY(-50%);
    font-size: .7rem;
    color: var(--wf-text-secondary);
    pointer-events: none;
}

.app-select__input:disabled ~ .app-select__caret[b-dhms8hv4ew] {
    color: var(--wf-text-muted);
}

/* ── Searchable mode ─────────────────────────────────────────────
   The field is the query box and the list below is ours to style,
   which a native select never allows. */

.app-combo[b-dhms8hv4ew] {
    position: relative;
    min-width: 0;
}

.app-combo__input[b-dhms8hv4ew] {
    width: 100%;
    padding-inline-end: calc(var(--wf-component-padding-inline, var(--wf-control-padding-md)) + 1rem);
    cursor: text;
    text-overflow: ellipsis;
}

.app-combo__trigger[b-dhms8hv4ew] {
    overflow: hidden;
    cursor: pointer;
    text-align: start;
    white-space: nowrap;
}

.app-combo__trigger.is-placeholder[b-dhms8hv4ew] {
    color: var(--wf-text-muted);
}

.app-combo__input:disabled[b-dhms8hv4ew] {
    cursor: not-allowed;
}

/* Fixed, and positioned from script: an absolute popup is clipped by any card
   or panel that hides its overflow, and those are everywhere. Before script
   runs the box already sits at its static position under the field. */
.app-combo__popup[b-dhms8hv4ew] {
    position: fixed;
    z-index: 1090;
    width: max-content;
    min-width: 12rem;
    max-width: 90vw;
    overflow: hidden;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius);
    background: var(--wf-surface);
    box-shadow: var(--wf-shadow);
}

.app-combo__list[b-dhms8hv4ew] {
    max-height: 16rem;
    margin: 0;
    padding: 0.25rem;
    overflow-y: auto;
    list-style: none;
}

.app-combo__option[b-dhms8hv4ew] {
    display: flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.625rem;
    border-radius: var(--wf-radius-sm);
    color: var(--wf-text);
    cursor: pointer;
    font-size: var(--wf-font-base);
    gap: 0.5rem;
    line-height: 1.4;
}

.app-combo__option.is-active[b-dhms8hv4ew],
.app-combo__option:hover:not(.is-disabled)[b-dhms8hv4ew] {
    background: var(--wf-surface-accent);
}

.app-combo__option.is-selected[b-dhms8hv4ew] {
    font-weight: 600;
}

.app-combo__option--clear[b-dhms8hv4ew] {
    color: var(--wf-text-muted);
    font-weight: 400;
}

.app-combo__option.is-disabled[b-dhms8hv4ew] {
    color: var(--wf-text-muted);
    cursor: not-allowed;
}

.app-combo__option-label[b-dhms8hv4ew] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-combo__option-check[b-dhms8hv4ew] {
    flex: 0 0 auto;
    color: var(--wf-color-primary);
    font-size: 0.8rem;
}

.app-combo__empty[b-dhms8hv4ew] {
    padding: 0.75rem 0.625rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
}

@media (prefers-reduced-motion: reduce) {
    .app-combo__list[b-dhms8hv4ew] {
        scroll-behavior: auto;
    }
}
/* /Shared/DesignSystem/AppSwitch.razor.rz.scp.css */
.app-switch[b-wxaone6ttb] {
    --app-switch-track-radius: 999px;
    display: block;
    min-width: 0;
}

.app-switch__row[b-wxaone6ttb] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.app-switch__input[b-wxaone6ttb] {
    position: relative;
    width: 2.75rem;
    height: 1.5rem;
    margin: 0.1rem 0 0;
    appearance: none;
    border: 1px solid var(--wf-border-hover);
    border-radius: var(--app-switch-track-radius);
    background: var(--wf-gray-200);
    cursor: pointer;
    transition:
        background-color var(--wf-transition-fast),
        border-color var(--wf-transition-fast),
        box-shadow var(--wf-transition-fast);
}

.app-switch__input[b-wxaone6ttb]::after {
    position: absolute;
    inset-block-start: 0.1875rem;
    inset-inline-start: 0.1875rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--wf-surface);
    box-shadow: var(--wf-shadow-xs);
    content: "";
    transition: transform var(--wf-transition-fast);
}

.app-switch__input:checked[b-wxaone6ttb] {
    border-color: var(--wf-color-primary);
    background: var(--wf-color-primary);
}

.app-switch__input:checked[b-wxaone6ttb]::after {
    transform: translateX(1.25rem);
}

.app-switch__input:hover:not(:disabled)[b-wxaone6ttb] {
    border-color: var(--wf-border-focus);
}

.app-switch__input:focus-visible[b-wxaone6ttb] {
    outline: 0;
    border-color: var(--wf-border-focus);
    box-shadow: var(--wf-focus-ring);
}

.app-switch__input.invalid[b-wxaone6ttb] {
    border-color: var(--wf-color-danger);
}

.app-switch__input:disabled[b-wxaone6ttb] {
    cursor: not-allowed;
    opacity: 0.65;
}

.app-switch__copy[b-wxaone6ttb] {
    min-width: 0;
}

.app-switch__label[b-wxaone6ttb] {
    display: inline-block;
    color: var(--wf-text);
    cursor: pointer;
    font-size: var(--wf-component-font-size, var(--wf-font-base));
    font-weight: 600;
    line-height: 1.35;
}

.app-switch__input:disabled + .app-switch__copy .app-switch__label[b-wxaone6ttb] {
    cursor: not-allowed;
}

.app-switch__required[b-wxaone6ttb] {
    color: var(--wf-color-danger);
}

.app-switch__help[b-wxaone6ttb],
.app-switch__error[b-wxaone6ttb] {
    margin-top: 0.35rem;
    font-size: var(--wf-font-xs-plus);
    line-height: 1.45;
}

.app-switch__help[b-wxaone6ttb] {
    color: var(--wf-text-muted);
}

.app-switch__error[b-wxaone6ttb] {
    color: var(--wf-red-700);
}

.app-switch__error:empty[b-wxaone6ttb] {
    display: none;
}

.wf-control--small .app-switch__input[b-wxaone6ttb] {
    width: 2.4rem;
    height: 1.35rem;
}

.wf-control--small .app-switch__input[b-wxaone6ttb]::after {
    width: 0.875rem;
    height: 0.875rem;
}

.wf-control--small .app-switch__input:checked[b-wxaone6ttb]::after {
    transform: translateX(1.05rem);
}

.wf-control--large .app-switch__input[b-wxaone6ttb] {
    width: 3.15rem;
    height: 1.75rem;
}

.wf-control--large .app-switch__input[b-wxaone6ttb]::after {
    width: 1.2rem;
    height: 1.2rem;
    inset-block-start: 0.225rem;
    inset-inline-start: 0.225rem;
}

.wf-control--large .app-switch__input:checked[b-wxaone6ttb]::after {
    transform: translateX(1.35rem);
}

@media (max-width: 30rem) {
    .app-switch__row[b-wxaone6ttb] {
        gap: 0.625rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-switch__input[b-wxaone6ttb],
    .app-switch__input[b-wxaone6ttb]::after {
        transition: none;
    }
}
/* /Shared/DesignSystem/AppText.razor.rz.scp.css */
.app-text[b-2cwsq49zqn] {
    --app-text-size-h1: 2.25rem;
    --app-text-size-h2: 1.875rem;
    --app-text-size-h3: 1.5rem;
    --app-text-size-h4: 1.25rem;
    --app-text-size-h5: 1.125rem;
    --app-text-size-h6: 1rem;
    --app-text-size-subtitle-1: 1rem;
    --app-text-size-subtitle-2: 0.875rem;
    --app-text-size-body-1: 1rem;
    --app-text-size-body-2: 0.875rem;
    --app-text-size-caption: var(--wf-font-caption);
    --app-text-size-code: 0.85em;

    margin: 0;
}

.app-text--h1[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h1);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.app-text--h2[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h2);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.app-text--h3[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h3);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
}

.app-text--h4[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h4);
    font-weight: 600;
    line-height: 1.35;
}

.app-text--h5[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h5);
    font-weight: 600;
    line-height: 1.4;
}

.app-text--h6[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text);
    font-size: var(--app-text-size-h6);
    font-weight: 600;
    line-height: 1.4;
}

.app-text--subtitle-1[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text-secondary);
    font-size: var(--app-text-size-subtitle-1);
    font-weight: 500;
    line-height: 1.5;
}

.app-text--subtitle-2[b-2cwsq49zqn] {
    display: block;
    color: var(--wf-text-secondary);
    font-size: var(--app-text-size-subtitle-2);
    font-weight: 500;
    line-height: 1.5;
}

.app-text--body-1[b-2cwsq49zqn] {
    display: block;
    font-size: var(--app-text-size-body-1);
    font-weight: 400;
    line-height: 1.5;
}

.app-text--body-2[b-2cwsq49zqn] {
    display: block;
    font-size: var(--app-text-size-body-2);
    font-weight: 400;
    line-height: 1.5;
}

.app-text--caption[b-2cwsq49zqn] {
    color: var(--wf-text-muted);
    font-size: var(--app-text-size-caption);
    font-weight: 400;
    line-height: 1.4;
}

.app-text--overline[b-2cwsq49zqn] {
    color: var(--wf-text-muted);
    font-size: var(--app-text-size-caption);
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-transform: uppercase;
}

.app-text--code[b-2cwsq49zqn] {
    padding: 0.2em 0.4em;
    border-radius: var(--wf-radius-sm);
    background-color: var(--wf-surface-subtle);
    font-family: var(--wf-font-mono);
    font-size: var(--app-text-size-code);
}

.app-text--weight-regular[b-2cwsq49zqn] {
    font-weight: 400;
}

.app-text--weight-medium[b-2cwsq49zqn] {
    font-weight: 500;
}

.app-text--weight-semibold[b-2cwsq49zqn] {
    font-weight: 600;
}

.app-text--weight-bold[b-2cwsq49zqn] {
    font-weight: 700;
}

.app-text--tone-primary[b-2cwsq49zqn] {
    color: var(--wf-color-primary);
}

.app-text--tone-secondary[b-2cwsq49zqn] {
    color: var(--wf-text-secondary);
}

.app-text--tone-success[b-2cwsq49zqn] {
    color: var(--wf-green-700);
}

.app-text--tone-danger[b-2cwsq49zqn] {
    color: var(--wf-color-danger);
}

.app-text--tone-warning[b-2cwsq49zqn] {
    color: var(--wf-amber-800);
}

.app-text--tone-info[b-2cwsq49zqn] {
    color: var(--wf-teal-700);
}

.app-text--tone-muted[b-2cwsq49zqn] {
    color: var(--wf-text-muted);
}

.app-text--tone-emphasis[b-2cwsq49zqn] {
    color: var(--wf-text);
}

.app-text--tone-on-accent[b-2cwsq49zqn] {
    color: var(--wf-text-on-accent);
}

.app-text--truncate[b-2cwsq49zqn] {
    display: inline-block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Shared/DesignSystem/AppTextArea.razor.rz.scp.css */
.app-textarea__frame[b-fo39884jox] {
    min-width: 0;
    align-items: stretch;
}

.app-textarea__input[b-fo39884jox] {
    width: 100%;
    min-height: calc(var(--wf-component-height, var(--wf-control-height-md)) * 2.25);
    line-height: 1.5;
}

.app-textarea__input--none[b-fo39884jox] { resize: none; }
.app-textarea__input--vertical[b-fo39884jox] { resize: vertical; }
.app-textarea__input--both[b-fo39884jox] { resize: both; }
/* /Shared/Filters/AdvancedFilter.razor.rz.scp.css */
.advanced-filter-search[b-z46zcroarr] {
    display: flex;
    align-items: end;
    gap: 0.25rem;
}

.advanced-filter-search[b-z46zcroarr]  .advanced-filter-search__field {
    min-width: 0;
    flex: 1 1 auto;
}

.advanced-filter-search[b-z46zcroarr]  .advanced-filter-search__clear {
    flex: 0 0 auto;
}

[b-z46zcroarr] .filter-dismiss {
    min-width: 1.25rem;
    min-height: 1.25rem;
    margin-inline-start: 0.2rem;
    padding: 0;
    color: inherit;
    font-size: 0.7rem;
    vertical-align: middle;
}

@media (max-width: 35rem) {
    .advanced-filter-search[b-z46zcroarr] {
        align-items: stretch;
    }
}
/* /Shared/Filters/FilterBar.razor.rz.scp.css */
.filter-dismiss[b-tsn0wlah77] { font-size: 0.6em; }
/* /Shared/Forms/AddressInput.razor.rz.scp.css */
.address-input__loading-indicator[b-apwxkzd6qr] {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.address-input-component .autocomplete-dropdown[b-apwxkzd6qr] {
    position: absolute;
    z-index: 1050;
    top: 100%;
    left: 0;
    overflow-y: auto;
    max-height: 250px;
    border-radius: 0 0 0.375rem 0.375rem;
    box-shadow: 0 4px 8px var(--wf-shadow-overlay);
}

.address-input-component .dropdown-item[b-apwxkzd6qr] {
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.address-input-component .dropdown-item:hover[b-apwxkzd6qr] { background-color: var(--wf-gray-100); }

.address-input-component .dropdown-item.active[b-apwxkzd6qr] {
    background-color: var(--wf-color-primary);
    color: var(--wf-text-on-accent);
}

.address-input-component .form-control.dropdown-open[b-apwxkzd6qr] {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
/* /Shared/Forms/AppFormActions.razor.rz.scp.css */
.app-form-actions[b-g16xhko6m4] {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.app-form-actions--start[b-g16xhko6m4] { justify-content: flex-start; }
.app-form-actions--end[b-g16xhko6m4] { justify-content: flex-end; }
.app-form-actions--spacebetween[b-g16xhko6m4] { justify-content: space-between; }
.app-form-actions--stretch[b-g16xhko6m4]  .app-btn { flex: 1 1 10rem; }

@media (max-width: 575.98px) {
    .app-form-actions[b-g16xhko6m4] { align-items: stretch; }

    .app-form-actions[b-g16xhko6m4]  .app-btn {
        flex: 1 1 10rem;
        justify-content: center;
    }
}

@media (max-width: 359.98px) {
    .app-form-actions[b-g16xhko6m4]  .app-btn { flex-basis: 100%; }
}
/* /Shared/Forms/AppFormField.razor.rz.scp.css */
.app-form-field[b-x50kb5j9bg] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.app-form-field__legend[b-x50kb5j9bg] {
    display: flex;
    width: auto;
    align-items: center;
    gap: 0.375rem;
    margin-bottom: 0.5rem;
    color: var(--wf-text);
    font-size: var(--wf-font-sm);
    font-weight: 600;
}

.app-form-field__required[b-x50kb5j9bg] { color: var(--wf-color-danger); }

.app-form-field__help[b-x50kb5j9bg],
.app-form-field__error[b-x50kb5j9bg] {
    margin-top: 0.375rem;
    font-size: var(--wf-font-xs-plus);
    line-height: 1.45;
}

.app-form-field__help[b-x50kb5j9bg] { color: var(--wf-text-muted); }
.app-form-field__error[b-x50kb5j9bg] { color: var(--wf-red-700); }
.app-form-field__error:empty[b-x50kb5j9bg] { display: none; }
/* /Shared/Forms/AppValidationSummary.razor.rz.scp.css */
.app-validation-summary[b-50sypspuy0] {
    padding: 1rem;
    border: 1px solid var(--wf-red-200);
    border-radius: var(--wf-radius-lg);
    background: var(--wf-red-50);
    color: var(--wf-red-800);
}

.app-validation-summary__header[b-50sypspuy0] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.app-validation-summary__title[b-50sypspuy0] {
    margin: 0;
    font-size: var(--wf-font-sm);
    font-weight: 700;
}

.app-validation-summary__retry[b-50sypspuy0] { margin-inline-start: auto; }

.app-validation-summary__list[b-50sypspuy0] {
    margin: 0.75rem 0 0;
    padding-inline-start: 1.25rem;
    font-size: var(--wf-font-sm);
}

.app-validation-summary__list li + li[b-50sypspuy0] { margin-top: 0.25rem; }

@media (max-width: 575.98px) {
    .app-validation-summary__header[b-50sypspuy0] { flex-wrap: wrap; }
    .app-validation-summary__retry[b-50sypspuy0] { width: 100%; margin-inline-start: 0; }
}
/* /Shared/Forms/FormSection.razor.rz.scp.css */
.form-section__icon[b-eg4j0biic3] {
    width: 28px;
    height: 28px;
}
/* /Shared/Forms/TemplateFieldsEditor.razor.rz.scp.css */
.template-fields-editor[b-iav7b2511c] {
    --tfe-border: var(--wf-border-subtle);
    --tfe-muted: var(--wf-text-muted);
    --tfe-surface: var(--wf-surface);
    container-name: template-fields;
    container-type: inline-size;
}

.tfe-toolbar[b-iav7b2511c] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.625rem;
}

.tfe-eyebrow[b-iav7b2511c] {
    color: var(--wf-text);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tfe-help[b-iav7b2511c] {
    margin-top: 0.1rem;
    color: var(--tfe-muted);
    font-size: 0.8125rem;
    line-height: 1.25;
}

.tfe-count[b-iav7b2511c] {
    flex: 0 0 auto;
    padding: 0.25rem 0.55rem;
    border: 1px solid var(--tfe-border);
    border-radius: 999px;
    background: var(--wf-gray-100);
    color: var(--wf-gray-700);
    font-size: 0.72rem;
    font-weight: 650;
}

.tfe-add-row[b-iav7b2511c] {
    display: grid;
    grid-template-areas: "name type required action";
    grid-template-columns: minmax(14rem, 1fr) minmax(9rem, 12rem) auto auto;
    align-items: end;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
    padding: 0.5rem;
    border: 1px solid var(--tfe-border);
    border-radius: 0.625rem;
    background: var(--wf-surface-subtle);
}

.tfe-add-row-with-format[b-iav7b2511c] {
    grid-template-areas: "name type format required action";
    grid-template-columns: minmax(14rem, 1fr) minmax(9rem, 12rem) minmax(8rem, 10rem) auto auto;
}

.tfe-add-name-field[b-iav7b2511c] { grid-area: name; }
.tfe-add-type[b-iav7b2511c] { grid-area: type; }
.tfe-add-format[b-iav7b2511c] { grid-area: format; }
[b-iav7b2511c] .tfe-add-required { grid-area: required; }
[b-iav7b2511c] .tfe-add-button { grid-area: action; }

.tfe-control-label[b-iav7b2511c],
.tfe-mobile-label[b-iav7b2511c] {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--wf-text-secondary);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
}

.tfe-mobile-label[b-iav7b2511c] { display: none; }

[b-iav7b2511c] .tfe-add-required,
[b-iav7b2511c] .tfe-required-toggle {
    display: flex;
    min-width: max-content;
    align-items: center;
    gap: 0.25rem;
    min-height: 2.5rem;
    margin-bottom: 0;
    white-space: nowrap;
}

[b-iav7b2511c] .tfe-add-required .app-switch__label,
[b-iav7b2511c] .tfe-required-toggle .app-switch__label {
    color: var(--wf-text-secondary);
    font-size: 0.76rem;
    font-weight: 600;
}

[b-iav7b2511c] .tfe-add-button {
    min-width: 4.5rem;
    min-height: 2.5rem;
    border-radius: 0.7rem;
}

.tfe-new-options[b-iav7b2511c] { margin: -0.25rem 0 0.625rem; }

.tfe-column-headings[b-iav7b2511c] {
    display: grid;
    grid-template-areas: ". . name type . .";
    grid-template-columns: 1.25rem 1.25rem minmax(12rem, 1fr) minmax(8rem, 11rem) auto 2.75rem;
    gap: 0.5rem;
    padding: 0 0.625rem 0.35rem;
    color: var(--wf-text-secondary);
    font-size: 0.75rem;
    font-weight: 750;
}

.tfe-has-format .tfe-column-headings[b-iav7b2511c] {
    grid-template-areas: ". . name type format . .";
    grid-template-columns: 1.25rem 1.25rem minmax(12rem, 1fr) minmax(8rem, 11rem) minmax(8rem, 10rem) auto 2.75rem;
}

.tfe-heading-name[b-iav7b2511c] { grid-area: name; }
.tfe-heading-type[b-iav7b2511c] { grid-area: type; }
.tfe-heading-format[b-iav7b2511c] { grid-area: format; }

.tfe-list[b-iav7b2511c] {
    overflow: hidden;
    border: 1px solid var(--tfe-border);
    border-radius: 0.625rem;
    background: var(--tfe-surface);
}

.tfe-row[b-iav7b2511c] {
    position: relative;
    display: grid;
    grid-template-areas: "grip icon name type required action";
    grid-template-columns: 1.25rem 1.25rem minmax(12rem, 1fr) minmax(8rem, 11rem) auto 2.75rem;
    min-height: 3.25rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    border-bottom: 1px solid var(--tfe-border);
    background-color: var(--wf-surface);
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.tfe-row:hover[b-iav7b2511c] {
    background-color: var(--wf-surface-hover);
    box-shadow: inset 2px 0 0 var(--wf-color-primary);
}

.tfe-row-locked[b-iav7b2511c] { background-color: var(--wf-gray-50); }

.tfe-type-icon[b-iav7b2511c] {
    grid-area: icon;
    color: var(--wf-text-subtle);
    font-size: 0.8rem;
    text-align: center;
}

[b-iav7b2511c] .tfe-field-name,
.tfe-add-name-field[b-iav7b2511c]  .tfe-add-name {
    min-height: 2.5rem;
    border-color: var(--wf-border);
    border-radius: 0.5rem;
    background-color: var(--wf-surface);
}

.tfe-has-format .tfe-row[b-iav7b2511c] {
    grid-template-areas: "grip icon name type format required action";
    grid-template-columns: 1.25rem 1.25rem minmax(12rem, 1fr) minmax(8rem, 11rem) minmax(8rem, 10rem) auto 2.75rem;
}

.tfe-field-name-group[b-iav7b2511c] { grid-area: name; }
.tfe-field-type[b-iav7b2511c] { grid-area: type; }
.tfe-field-format[b-iav7b2511c] { grid-area: format; }
.tfe-row[b-iav7b2511c]  .tfe-required-toggle { grid-area: required; }
.tfe-grip[b-iav7b2511c] { grid-area: grip; }
[b-iav7b2511c] .tfe-remove-button,
.tfe-system-badge[b-iav7b2511c] { grid-area: action; }

/* Selects render their own frame, so the row styling reaches through to it. */
.tfe-field-type[b-iav7b2511c]  .wf-input-frame,
.tfe-add-type[b-iav7b2511c]  .wf-input-frame,
.tfe-add-format[b-iav7b2511c]  .wf-input-frame,
.tfe-field-format[b-iav7b2511c]  .wf-input-frame {
    min-height: 2.5rem;
    border-color: var(--wf-border);
    border-radius: 0.5rem;
    background-color: var(--wf-surface);
}

.tfe-row[b-iav7b2511c]  .tfe-field-name { background-color: var(--wf-surface); }
.tfe-row .tfe-field-type[b-iav7b2511c]  .wf-input-frame,
.tfe-row .tfe-field-format[b-iav7b2511c]  .wf-input-frame { background-color: var(--wf-surface); }

.tfe-row:hover[b-iav7b2511c]  .tfe-field-name,
.tfe-row[b-iav7b2511c]  .tfe-field-name:focus {
    border-color: var(--wf-blue-200);
    background-color: var(--wf-surface);
}

.tfe-row:hover .tfe-field-type[b-iav7b2511c]  .wf-input-frame,
.tfe-row:hover .tfe-field-format[b-iav7b2511c]  .wf-input-frame,
.tfe-row .tfe-field-type[b-iav7b2511c]  .wf-input-frame:focus-within,
.tfe-row .tfe-field-format[b-iav7b2511c]  .wf-input-frame:focus-within {
    border-color: var(--wf-blue-200);
    background-color: var(--wf-surface);
}

.tfe-row-detail[b-iav7b2511c] {
    grid-column: 3 / -1;
    padding-bottom: 0.25rem;
}

.tfe-grip[b-iav7b2511c] {
    color: var(--wf-text-placeholder);
    line-height: 1;
    text-align: center;
    user-select: none;
}

.tfe-grip--hidden[b-iav7b2511c] { visibility: hidden; }
.tfe-grip--draggable[b-iav7b2511c] { cursor: grab; }
.tfe-grip:active[b-iav7b2511c] { cursor: grabbing !important; }
.tfe-list .tfe-row:last-child[b-iav7b2511c] { border-bottom: 0 !important; }

[b-iav7b2511c] .tfe-remove-button,
.tfe-system-badge[b-iav7b2511c] { justify-self: end; }

[b-iav7b2511c] .tfe-remove-button {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 999px;
}

.tfe-drop-zone[b-iav7b2511c] {
    position: absolute;
    z-index: 3;
    right: 0;
    left: 0;
    height: 50%;
}

.tfe-drop-zone-top[b-iav7b2511c] { top: 0; }
.tfe-drop-zone-bottom[b-iav7b2511c] { bottom: 0; }
.tfe-drop-zone-active.tfe-drop-zone-top[b-iav7b2511c] { border-top: 2px solid var(--wf-color-primary); }
.tfe-drop-zone-active.tfe-drop-zone-bottom[b-iav7b2511c] { border-bottom: 2px solid var(--wf-color-primary); }

@container template-fields (max-width: 52rem) {
    .tfe-column-headings[b-iav7b2511c] { display: none; }
    .tfe-mobile-label[b-iav7b2511c] { display: block; }

    .tfe-add-row[b-iav7b2511c] {
        grid-template-areas:
            "name name action"
            "type type required";
        grid-template-columns: minmax(0, 1fr) minmax(8rem, 10rem) auto;
    }

    .tfe-add-row-with-format[b-iav7b2511c] {
        grid-template-areas:
            "name name action"
            "type format required";
    }

    .tfe-row[b-iav7b2511c] {
        grid-template-areas:
            "grip icon name name action"
            ". . type type required";
        grid-template-columns: 1.25rem 1.25rem minmax(0, 1fr) minmax(8rem, 10rem) auto;
        align-items: end;
    }

    .tfe-has-format .tfe-row[b-iav7b2511c] {
        grid-template-areas:
            "grip icon name name action"
            ". . type format required";
    }

    .tfe-row-detail[b-iav7b2511c] { grid-column: 3 / -1; }
}

@container template-fields (max-width: 38rem) {
    .tfe-add-row[b-iav7b2511c] {
        grid-template-areas:
            "name action"
            "type type"
            "required required";
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .tfe-add-row-with-format[b-iav7b2511c] {
        grid-template-areas:
            "name action"
            "type type"
            "format format"
            "required required";
    }

    .tfe-row[b-iav7b2511c] {
        grid-template-areas:
            "grip icon name action"
            ". . type type"
            ". . required required";
        grid-template-columns: 1.25rem 1.25rem minmax(0, 1fr) auto;
    }

    .tfe-has-format .tfe-row[b-iav7b2511c] {
        grid-template-areas:
            "grip icon name action"
            ". . type type"
            ". . format format"
            ". . required required";
    }

    .tfe-row-detail[b-iav7b2511c] { grid-column: 3 / -1; }
}
/* /Shared/Layout/AppPage.razor.rz.scp.css */
/* No top padding: the shell already spaced the page off the navbar. */
.app-page[b-5vf3ondnay] {
    width: 100%;
    min-width: 0;
    margin-inline: auto;
    padding: 0 clamp(0.875rem, 2vw, 1.5rem) clamp(0.875rem, 2vw, 1.5rem);
}

.app-page--narrow[b-5vf3ondnay] { max-width: 56rem; }
.app-page--default[b-5vf3ondnay] { max-width: 80rem; }
.app-page--wide[b-5vf3ondnay] { max-width: 96rem; }
.app-page--full[b-5vf3ondnay] { max-width: none; }

.app-page[b-5vf3ondnay]  .app-page-header { margin-bottom: clamp(1rem, 1.8vw, 1.5rem); }

.app-page__notices:not(:empty)[b-5vf3ondnay] {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

@media (max-width: 359.98px) {
    .app-page[b-5vf3ondnay] { padding-inline: 0.75rem; }
}
/* /Shared/Layout/AppPageHeader.razor.rz.scp.css */
.app-page-header[b-kcxx7medzp] {
    display: block;
    min-width: 0;
}

.app-page-header__breadcrumbs[b-kcxx7medzp] { margin-bottom: 0.75rem; }

.app-page-header__row[b-kcxx7medzp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.app-page-header__main[b-kcxx7medzp] { min-width: 0; }

.app-page-header__category[b-kcxx7medzp] {
    margin-bottom: 0.25rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.app-page-header__title-row[b-kcxx7medzp] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.app-page-header__title[b-kcxx7medzp] {
    min-width: 0;
    margin: 0;
    color: var(--wf-text);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.app-page-header__subtitle[b-kcxx7medzp] {
    max-width: 72ch;
    margin: 0.5rem 0 0;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    line-height: 1.55;
}

.app-page-header__supporting[b-kcxx7medzp] { margin-top: 0.75rem; }

.app-page-header__actions[b-kcxx7medzp] {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 767.98px) {
    .app-page-header__row[b-kcxx7medzp] { flex-direction: column; }

    .app-page-header__actions[b-kcxx7medzp] {
        width: 100%;
        justify-content: stretch;
    }

    .app-page-header__actions[b-kcxx7medzp]  .app-btn,
    .app-page-header__actions[b-kcxx7medzp]  .app-action-link {
        flex: 1 1 10rem;
        justify-content: center;
    }
}

@media (max-width: 359.98px) {
    .app-page-header__actions[b-kcxx7medzp]  .app-btn,
    .app-page-header__actions[b-kcxx7medzp]  .app-action-link { flex-basis: 100%; }
}
/* /Shared/Layout/AppResponsiveGrid.razor.rz.scp.css */
.app-responsive-grid[b-j9b1hklbgb] {
    display: grid;
    width: 100%;
    min-width: 0;
}

.app-responsive-grid--min-compact[b-j9b1hklbgb] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.app-responsive-grid--min-standard[b-j9b1hklbgb] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.app-responsive-grid--min-wide[b-j9b1hklbgb] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.app-responsive-grid--gap-small[b-j9b1hklbgb] { gap: 0.5rem; }
.app-responsive-grid--gap-medium[b-j9b1hklbgb] { gap: 1rem; }
.app-responsive-grid--gap-large[b-j9b1hklbgb] { gap: 1.5rem; }
/* /Shared/Layout/AppToolbar.razor.rz.scp.css */
.app-toolbar[b-9m4ct2ntr0] {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.app-toolbar--start[b-9m4ct2ntr0] { justify-content: flex-start; }
.app-toolbar--end[b-9m4ct2ntr0] { justify-content: flex-end; }
.app-toolbar--spacebetween[b-9m4ct2ntr0] { justify-content: space-between; }

.app-toolbar__primary[b-9m4ct2ntr0],
.app-toolbar__trailing[b-9m4ct2ntr0] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.app-toolbar__trailing[b-9m4ct2ntr0] { margin-inline-start: auto; }

@media (max-width: 575.98px) {
    .app-toolbar[b-9m4ct2ntr0],
    .app-toolbar__primary[b-9m4ct2ntr0],
    .app-toolbar__trailing[b-9m4ct2ntr0] {
        width: 100%;
        align-items: stretch;
    }

    .app-toolbar[b-9m4ct2ntr0] { flex-direction: column; }
    .app-toolbar__trailing[b-9m4ct2ntr0] { margin-inline-start: 0; }

    .app-toolbar[b-9m4ct2ntr0]  .app-btn,
    .app-toolbar[b-9m4ct2ntr0]  .app-action-link { flex: 1 1 9rem; }
}
/* /Shared/LoadingSpinner.razor.rz.scp.css */
.loading-spinner[b-qicubnar35] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
/* /Shared/Navigation/AppTabs.razor.rz.scp.css */
.app-tabs[b-xtk1330hda] { min-width: 0; }

.app-tabs__list[b-xtk1330hda] {
    display: flex;
    overflow-x: auto;
    gap: 0.25rem;
    border-bottom: 1px solid var(--wf-border);
    scrollbar-width: thin;
}

.app-tabs__tab[b-xtk1330hda] {
    display: inline-flex;
    min-height: var(--wf-control-height-md);
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--wf-text-muted);
    font: inherit;
    font-size: var(--wf-font-sm);
    font-weight: 600;
    cursor: pointer;
}

.app-tabs__tab:hover:not(:disabled)[b-xtk1330hda] {
    background: var(--wf-surface-hover);
    color: var(--wf-text);
}

.app-tabs__tab--selected[b-xtk1330hda] {
    border-bottom-color: var(--wf-color-primary);
    color: var(--wf-color-primary);
}

.app-tabs__tab:focus-visible[b-xtk1330hda] {
    outline: 2px solid var(--wf-color-primary);
    outline-offset: -2px;
}

.app-tabs__tab:disabled[b-xtk1330hda] { cursor: not-allowed; opacity: 0.55; }

.app-tabs__badge[b-xtk1330hda] {
    min-width: 1.5rem;
    padding: 0.125rem 0.4rem;
    border-radius: 999px;
    background: var(--wf-gray-100);
    color: var(--wf-text-secondary);
    font-size: var(--wf-font-xs);
    line-height: 1.2;
}

.app-tabs__panel[b-xtk1330hda] {
    min-width: 0;
    padding-top: 1rem;
    outline: 0;
}

@media (max-width: 575.98px) {
    .app-tabs__tab[b-xtk1330hda] {
        min-width: min(10rem, 70vw);
        padding-inline: 0.75rem;
    }
}
/* /Shared/StatusBadges/AppBadge.razor.rz.scp.css */
.app-badge[b-phm6wef8nd] {
    display: inline-flex;
    /* Pinned so a chip is the same height whether or not it carries an icon. Without
       this the icon's glyph box is half a pixel taller than the text line box, and two
       chips in the same row came out different sizes. Height must never depend on
       content: chips are read side by side. */
    min-height: var(--wf-chip-height);
    max-width: 100%;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35em 0.65em;
    font-size: var(--wf-font-caption);
    font-weight: 600;
    line-height: 1;
    vertical-align: baseline;
    white-space: nowrap;
}

.app-badge--rounded[b-phm6wef8nd] { border-radius: var(--wf-radius-sm); }
.app-badge--pill[b-phm6wef8nd] { border-radius: 999px; }

.app-badge__dot[b-phm6wef8nd] {
    width: 0.375rem;
    height: 0.375rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background-color: currentColor;
}

.app-badge__icon[b-phm6wef8nd] {
    flex: 0 0 auto;
    line-height: 1;
}

.app-badge--soft-primary[b-phm6wef8nd] { border: 1px solid var(--wf-blue-200); background-color: var(--wf-blue-50); color: var(--wf-blue-700); }
.app-badge--soft-secondary[b-phm6wef8nd] { border: 1px solid var(--wf-gray-300); background-color: var(--wf-gray-100); color: var(--wf-gray-700); }
.app-badge--soft-success[b-phm6wef8nd] { border: 1px solid var(--wf-green-200); background-color: var(--wf-green-50); color: var(--wf-green-700); }
.app-badge--soft-danger[b-phm6wef8nd] { border: 1px solid var(--wf-red-200); background-color: var(--wf-red-50); color: var(--wf-red-700); }
.app-badge--soft-warning[b-phm6wef8nd] { border: 1px solid var(--wf-amber-200); background-color: var(--wf-amber-50); color: var(--wf-amber-800); }
.app-badge--soft-info[b-phm6wef8nd] { border: 1px solid var(--wf-teal-200); background-color: var(--wf-teal-50); color: var(--wf-teal-800); }
.app-badge--soft-purple[b-phm6wef8nd] { border: 1px solid var(--wf-purple-200); background-color: var(--wf-purple-50); color: var(--wf-purple-800); }
.app-badge--soft-dark[b-phm6wef8nd] { border: 1px solid var(--wf-gray-400); background-color: var(--wf-gray-200); color: var(--wf-gray-900); }

.app-badge--solid-primary[b-phm6wef8nd] { border: 1px solid var(--wf-blue-600); background-color: var(--wf-blue-600); color: var(--wf-text-on-accent); }
.app-badge--solid-secondary[b-phm6wef8nd] { border: 1px solid var(--wf-gray-600); background-color: var(--wf-gray-600); color: var(--wf-text-on-accent); }
.app-badge--solid-success[b-phm6wef8nd] { border: 1px solid var(--wf-green-600); background-color: var(--wf-green-600); color: var(--wf-text-on-accent); }
.app-badge--solid-danger[b-phm6wef8nd] { border: 1px solid var(--wf-red-600); background-color: var(--wf-red-600); color: var(--wf-text-on-accent); }
.app-badge--solid-warning[b-phm6wef8nd] { border: 1px solid var(--wf-amber-400); background-color: var(--wf-amber-400); color: var(--wf-gray-900); }
.app-badge--solid-info[b-phm6wef8nd] { border: 1px solid var(--wf-teal-600); background-color: var(--wf-teal-600); color: var(--wf-text-on-accent); }
.app-badge--solid-purple[b-phm6wef8nd] { border: 1px solid var(--wf-purple-600); background-color: var(--wf-purple-600); color: var(--wf-text-on-accent); }
.app-badge--solid-dark[b-phm6wef8nd] { border: 1px solid var(--wf-gray-900); background-color: var(--wf-gray-900); color: var(--wf-text-on-accent); }
/* /Shared/StatusBadges/RfpPhaseBadge.razor.rz.scp.css */
.rfp-phase-badge__substatus[b-85cd5qdgft] { font-size: 0.7em; }
/* /Shared/Tables/DataTable.razor.rz.scp.css */
/* Listing table. Every colour, radius and step comes from wf-ui.css tokens so a
   restyle happens once, centrally, and never per screen. */

.wf-table[b-291s9anp5z] {
    display: block;
    width: 100%;
}

/* ── Header strip ─────────────────────────────────────────────── */

.wf-table__header[b-291s9anp5z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.wf-table__title[b-291s9anp5z] {
    margin: 0;
    font-size: var(--wf-font-md);
    font-weight: 600;
    color: var(--wf-text);
}

.wf-table__title i[b-291s9anp5z] {
    margin-right: 0.5rem;
    color: var(--wf-text-muted);
}

.wf-table__description[b-291s9anp5z] {
    margin: 0.125rem 0 0;
    font-size: var(--wf-font-sm);
    color: var(--wf-text-muted);
}

.wf-table__header-actions[b-291s9anp5z] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* ── Scroll container ─────────────────────────────────────────── */

.wf-table__scroll[b-291s9anp5z] {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wf-table__scroll > table[b-291s9anp5z] {
    width: 100%;
    table-layout: auto;
}

.wf-table__scroll th[b-291s9anp5z],
.wf-table__scroll td[b-291s9anp5z] {
    white-space: nowrap;
    vertical-align: middle;
}

.wf-table__column--40px[b-291s9anp5z] { width: 40px; }
.wf-table__column--50px[b-291s9anp5z] { width: 50px; }
.wf-table__column--80px[b-291s9anp5z] { width: 80px; }
.wf-table__column--100px[b-291s9anp5z] { width: 100px; }
.wf-table__column--110px[b-291s9anp5z] { width: 110px; }
.wf-table__column--120px[b-291s9anp5z] { width: 120px; }
.wf-table__column--140px[b-291s9anp5z] { width: 140px; }
.wf-table__column--10pct[b-291s9anp5z] { width: 10%; }
.wf-table__column--11pct[b-291s9anp5z] { width: 11%; }
.wf-table__column--13pct[b-291s9anp5z] { width: 13%; }
.wf-table__column--14pct[b-291s9anp5z] { width: 14%; }
.wf-table__column--15pct[b-291s9anp5z] { width: 15%; }
.wf-table__column--16pct[b-291s9anp5z] { width: 16%; }
.wf-table__column--18pct[b-291s9anp5z] { width: 18%; }
.wf-table__column--20pct[b-291s9anp5z] { width: 20%; }
.wf-table__column--30pct[b-291s9anp5z] { width: 30%; }
.wf-table__column--35pct[b-291s9anp5z] { width: 35%; }

/* ── Column headers ───────────────────────────────────────────── */

.wf-table__scroll thead th[b-291s9anp5z] {
    background-color: var(--wf-gray-25);
    border-bottom: 1px solid var(--wf-border);
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wf-table__sort[b-291s9anp5z] {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.wf-table__sort:hover[b-291s9anp5z] {
    color: var(--wf-text);
}

.wf-table__sort i[b-291s9anp5z] {
    margin-left: 0.25rem;
}

/* An idle sort control should hint, not compete with the header label. */
.wf-table__sort-idle[b-291s9anp5z] {
    color: var(--wf-text-placeholder);
}

.wf-table__sort:hover .wf-table__sort-idle[b-291s9anp5z] {
    color: var(--wf-text-muted);
}

/* ── Rows and density ─────────────────────────────────────────── */

.wf-table__scroll tbody td[b-291s9anp5z] {
    border-bottom: 1px solid var(--wf-border-subtle);
    color: var(--wf-text);
}

.wf-table--comfortable .wf-table__scroll th[b-291s9anp5z],
.wf-table--comfortable .wf-table__scroll td[b-291s9anp5z] {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}

.wf-table--compact .wf-table__scroll th[b-291s9anp5z],
.wf-table--compact .wf-table__scroll td[b-291s9anp5z] {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}

/* ── Navigable rows ───────────────────────────────────────────── */

.wf-table__row--navigable[b-291s9anp5z] {
    cursor: pointer;
    transition: background-color var(--wf-transition-fast), box-shadow var(--wf-transition-fast);
}

.wf-table__row--navigable:hover[b-291s9anp5z],
.wf-table__row--navigable:focus-within[b-291s9anp5z] {
    background-color: var(--wf-surface-hover);
    /* An inset edge reads as "selectable" without shifting the layout. */
    box-shadow: inset 3px 0 0 0 var(--wf-color-primary);
}

.wf-table__empty-row:hover[b-291s9anp5z] {
    background-color: transparent;
}

/* ── Empty and loading states ─────────────────────────────────── */

.wf-table__state[b-291s9anp5z] {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    text-align: center;
    white-space: normal !important;
}

.wf-table__empty-icon[b-291s9anp5z] {
    font-size: 2.5rem;
    color: var(--wf-text-placeholder);
}

.wf-table__empty-title[b-291s9anp5z] {
    margin: 0.75rem 0 0.25rem;
    font-weight: 500;
    color: var(--wf-text);
}

.wf-table__empty-description[b-291s9anp5z] {
    margin: 0;
    font-size: var(--wf-font-sm);
    color: var(--wf-text-muted);
}

/* ── Footer ───────────────────────────────────────────────────── */

.wf-table__footer[b-291s9anp5z] {
    padding-top: 0.75rem;
}

@media (max-width: 992px) {
    .wf-table__scroll th[b-291s9anp5z],
    .wf-table__scroll td[b-291s9anp5z] {
        white-space: normal;
    }
}
/* /Shared/Tables/TableSearch.razor.rz.scp.css */
.table-search[b-23oz0urbqq] {
    width: min(100%, 18.75rem);
}
/* /Shared/UI/AppDrawer.razor.rz.scp.css */
.app-drawer__backdrop[b-dzvwup7o1z] {
    position: fixed;
    z-index: 1055;
    inset: 0;
    display: flex;
    background: color-mix(in srgb, var(--wf-gray-900) 56%, transparent);
}

.app-drawer[b-dzvwup7o1z] {
    display: flex;
    width: min(100%, 32rem);
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border-inline: 1px solid var(--wf-border);
    background: var(--wf-surface);
    box-shadow: 0 0 2.5rem var(--wf-shadow-overlay);
}

.app-drawer--start[b-dzvwup7o1z] {
    margin-inline-end: auto;
    animation: app-drawer-enter-start-b-dzvwup7o1z 180ms ease-out;
}

.app-drawer--end[b-dzvwup7o1z] {
    margin-inline-start: auto;
    animation: app-drawer-enter-end-b-dzvwup7o1z 180ms ease-out;
}

.app-drawer--small[b-dzvwup7o1z] { width: min(100%, 27.5rem); }
.app-drawer--medium[b-dzvwup7o1z] { width: min(100%, 32rem); }
.app-drawer--large[b-dzvwup7o1z] { width: min(100%, 42rem); }

.app-drawer__header[b-dzvwup7o1z],
.app-drawer__footer[b-dzvwup7o1z] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
}

.app-drawer__header[b-dzvwup7o1z] { border-bottom: 1px solid var(--wf-border); }
.app-drawer__footer[b-dzvwup7o1z] { justify-content: flex-end; border-top: 1px solid var(--wf-border); }

.app-drawer__heading[b-dzvwup7o1z] {
    min-width: 0;
    flex: 1 1 auto;
}

.app-drawer__header-content[b-dzvwup7o1z] {
    margin-bottom: 0.2rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    line-height: 1.35;
}

.app-drawer__title[b-dzvwup7o1z] {
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.app-drawer__description[b-dzvwup7o1z] {
    margin: 0.2rem 0 0;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-xs-plus);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.app-drawer__header-actions[b-dzvwup7o1z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.app-drawer__body[b-dzvwup7o1z] {
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    overscroll-behavior: contain;
}

@keyframes app-drawer-enter-start-b-dzvwup7o1z {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}

@keyframes app-drawer-enter-end-b-dzvwup7o1z {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

@media (max-width: 575.98px) {
    .app-drawer[b-dzvwup7o1z] { width: 100%; }

    .app-drawer__header[b-dzvwup7o1z],
    .app-drawer__footer[b-dzvwup7o1z] { padding-inline: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .app-drawer--start[b-dzvwup7o1z],
    .app-drawer--end[b-dzvwup7o1z] { animation: none; }
}
/* /Shared/UI/AppModal.razor.rz.scp.css */
.app-modal__backdrop[b-ulbv5lby4n] {
    position: fixed;
    z-index: 1055;
    inset: 0;
    display: grid;
    overflow-y: auto;
    place-items: center;
    padding: clamp(0.75rem, 3vw, 2rem);
    background: color-mix(in srgb, var(--wf-gray-900) 56%, transparent);
}

.app-modal__backdrop--fullscreen[b-ulbv5lby4n] {
    padding: 0;
}

.app-modal[b-ulbv5lby4n] {
    display: flex;
    width: min(100%, 40rem);
    max-height: min(90vh, 60rem);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--wf-border);
    border-radius: var(--wf-radius-xl);
    background: var(--wf-surface);
    box-shadow: 0 24px 48px var(--wf-shadow-overlay);
}

.app-modal--small[b-ulbv5lby4n] { width: min(100%, 26rem); }
.app-modal--medium[b-ulbv5lby4n] { width: min(100%, 40rem); }
.app-modal--large[b-ulbv5lby4n] { width: min(100%, 58rem); }
.app-modal--extralarge[b-ulbv5lby4n] { width: min(100%, 76rem); }
.app-modal--fullscreen[b-ulbv5lby4n] {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
}

.app-modal__header[b-ulbv5lby4n],
.app-modal__footer[b-ulbv5lby4n] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
}

.app-modal__header[b-ulbv5lby4n] { border-bottom: 1px solid var(--wf-border); }
.app-modal__footer[b-ulbv5lby4n] { justify-content: flex-end; border-top: 1px solid var(--wf-border); }

.app-modal__title[b-ulbv5lby4n] {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    color: var(--wf-text);
    font-size: var(--wf-font-md);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.app-modal__header-actions[b-ulbv5lby4n] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.app-modal__body[b-ulbv5lby4n] {
    min-width: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 1.25rem;
}

.app-modal__description[b-ulbv5lby4n] {
    margin: 0 0 1rem;
    color: var(--wf-text-muted);
    font-size: var(--wf-font-sm);
    line-height: 1.55;
}

@media (max-width: 575.98px) {
    .app-modal__backdrop[b-ulbv5lby4n] {
        align-items: end;
        padding: 0;
    }

    .app-modal[b-ulbv5lby4n] {
        width: 100%;
        max-height: 94vh;
        border-radius: var(--wf-radius-xl) var(--wf-radius-xl) 0 0;
    }

    .app-modal--fullscreen[b-ulbv5lby4n] { height: 100%; max-height: none; border-radius: 0; }
    .app-modal__header[b-ulbv5lby4n],
    .app-modal__body[b-ulbv5lby4n],
    .app-modal__footer[b-ulbv5lby4n] { padding-inline: 1rem; }
}
/* /Shared/UI/ToastContainer.razor.rz.scp.css */
.toast-container[b-7c322jid68] { z-index: 1080; }
