/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-rd42cadsec] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-rd42cadsec] {
    flex: 1;
}

.sidebar[b-rd42cadsec] {
    background-image: linear-gradient(180deg, var(--color-accent) 0%, var(--color-brand-magenta) 100%);
}

.top-row[b-rd42cadsec] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-rd42cadsec]  a, .top-row[b-rd42cadsec]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-rd42cadsec]  a:hover, .top-row[b-rd42cadsec]  .btn-link:hover {
        text-decoration: underline;
    }

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

/* Shared by every top-row icon-triggered dropdown (user menu, admin tools menu, ...). */
.top-actions[b-rd42cadsec] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.guide-link[b-rd42cadsec] {
    background: var(--color-accent, #2d7a4e);
    color: white !important;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 12px;
    margin-left: 0 !important;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

.guide-link:hover[b-rd42cadsec] {
    background: var(--color-accent-dark, #235f3d);
    color: white !important;
}

.icon-menu[b-rd42cadsec] {
    position: relative;
    display: flex;
    align-items: center;
}

.icon-btn[b-rd42cadsec] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e4e4e4;
    color: #55595c;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease;
}

.icon-btn svg[b-rd42cadsec] {
    width: 20px;
    height: 20px;
}

.icon-btn:hover[b-rd42cadsec] {
    background: #d6d5d5;
}

.menu-backdrop[b-rd42cadsec] {
    position: fixed;
    inset: 0;
    z-index: 10;
}

.menu-dropdown[b-rd42cadsec] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 11;
    background: white;
    border: 1px solid #d6d5d5;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    padding: 8px 0;
}

.menu-header[b-rd42cadsec] {
    padding: 8px 16px 10px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #eee;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    /* Overrides .top-row ::deep a's margin-left/underline — those rules are meant for the
       top-row's own top-level links, not the dropdown's, which happen to be deep descendants too. */
    .menu-dropdown[b-rd42cadsec]  a.menu-item {
        display: block;
        margin-left: 0 !important;
        padding: 8px 16px;
        font-size: 14px;
        color: #333;
    }

    .menu-dropdown[b-rd42cadsec]  a.menu-item:hover {
        background: #f2f2f2;
        text-decoration: none;
    }

@media (max-width: 640.98px) {
    .top-row[b-rd42cadsec] {
        justify-content: space-between;
    }

    .top-row[b-rd42cadsec]  a, .top-row[b-rd42cadsec]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-rd42cadsec] {
        flex-direction: row;
    }

    .sidebar[b-rd42cadsec] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

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

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

    .top-row[b-rd42cadsec], article[b-rd42cadsec] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ofon601c2q] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-ofon601c2q] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    /* The positioning context for .navbar-brand below — not .container-fluid, whose
       ps-3 padding is left-only and would pull an absolutely-centered child off the
       bar's true center. */
    position: relative;
}

    .top-row .container-fluid[b-ofon601c2q] {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        height: 100%;
    }

.navbar-brand[b-ofon601c2q] {
    /* Absolutely positioned so the logo stays centered on the top row regardless of
       whether the mobile toggler is in flow next to it. */
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
}

.navbar-logo[b-ofon601c2q] {
    display: block;
    height: 2rem;
    width: auto;
}

.nav-item[b-ofon601c2q] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ofon601c2q] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ofon601c2q] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ofon601c2q]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-ofon601c2q]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ofon601c2q]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ofon601c2q] {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 3.5rem);
}

/* margin-top: auto pushes the logo to the bottom of the sidebar's flex column,
   however short the nav above it is. */
.sidebar-footer[b-ofon601c2q] {
    margin-top: auto;
    padding: 1.25rem 1.25rem 1.5rem;
}

.sidebar-logo[b-ofon601c2q] {
    display: block;
    width: 100%;
    max-width: 150px;
    height: auto;
    opacity: 0.85;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ofon601c2q] {
        display: none;
    }

    .collapse[b-ofon601c2q] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-ofon601c2q] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        /* Re-assert the flex column: `.collapse { display: block }` above has the
           same specificity and would otherwise win on source order, collapsing the
           flex context that pins .sidebar-footer to the bottom. */
        display: flex;
        flex-direction: column;
    }
}
/* /Pages/AdminAccountDirectorClients.razor.rz.scp.css */
.admin-wrap[b-mjibffmqqq] {
    max-width: 720px;
    margin: 40px auto;
}
.back-link[b-mjibffmqqq] {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.back-link:hover[b-mjibffmqqq] {
    color: var(--color-accent);
}
.eyebrow[b-mjibffmqqq] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.title[b-mjibffmqqq] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-mjibffmqqq] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.admin-empty[b-mjibffmqqq] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 24px 0;
}
.admin-empty.admin-error[b-mjibffmqqq] {
    color: var(--color-error);
}
.lookup-table[b-mjibffmqqq] {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.lookup-table th[b-mjibffmqqq], .lookup-table td[b-mjibffmqqq] {
    text-align: left;
    padding: 10px 14px;
    font-size: 14px;
}
.lookup-table th[b-mjibffmqqq] {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    border-bottom: 1px solid var(--color-border);
}
.lookup-table tbody tr + tr td[b-mjibffmqqq] {
    border-top: 1px solid var(--color-border);
}
.inactive-row[b-mjibffmqqq] {
    opacity: 0.55;
}
.lookup-table select[b-mjibffmqqq] {
    padding: 6px 8px;
    font-size: 13px;
    color: var(--color-ink);
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
}
.add-row[b-mjibffmqqq] {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}
.add-row input[type="text"][b-mjibffmqqq] {
    flex: 1;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
}
.btn[b-mjibffmqqq] {
    padding: 9px 18px;
    border-radius: var(--radius-md);
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.btn-primary[b-mjibffmqqq] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover:not(:disabled)[b-mjibffmqqq] {
    background: var(--color-accent-hover);
}
.btn-primary:disabled[b-mjibffmqqq] {
    opacity: 0.4;
    cursor: not-allowed;
}
.btn-ghost[b-mjibffmqqq] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}
.btn-ghost:hover:not(:disabled)[b-mjibffmqqq] {
    background: var(--color-accent-soft);
    color: var(--color-ink);
}
.btn-small[b-mjibffmqqq] {
    padding: 4px 10px;
    font-size: 12px;
    margin-left: 8px;
}
.form-hint[b-mjibffmqqq] {
    margin-top: 16px;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
/* /Pages/AdminAccountDirectors.razor.rz.scp.css */
.admin-wrap[b-lhyv16a7rc] {
    max-width: 720px;
    margin: 40px auto;
}
.eyebrow[b-lhyv16a7rc] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.title[b-lhyv16a7rc] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-lhyv16a7rc] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.admin-empty[b-lhyv16a7rc] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 24px 0;
}
.admin-empty.admin-error[b-lhyv16a7rc] {
    color: var(--color-error);
}
.lookup-table[b-lhyv16a7rc] {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.lookup-table th[b-lhyv16a7rc], .lookup-table td[b-lhyv16a7rc] {
    text-align: left;
    padding: 10px 14px;
    font-size: 14px;
}
.lookup-table th[b-lhyv16a7rc] {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    border-bottom: 1px solid var(--color-border);
}
.lookup-table tbody tr + tr td[b-lhyv16a7rc] {
    border-top: 1px solid var(--color-border);
}
.btn[b-lhyv16a7rc] {
    padding: 9px 18px;
    border-radius: var(--radius-md);
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.btn-ghost[b-lhyv16a7rc] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}
.btn-ghost:hover[b-lhyv16a7rc] {
    background: var(--color-accent-soft);
    color: var(--color-ink);
}
.btn-small[b-lhyv16a7rc] {
    padding: 4px 10px;
    font-size: 12px;
}
/* /Pages/AdminActivityPostRecipientLists.razor.rz.scp.css */
.admin-wrap[b-ysidfct497] {
    max-width: 720px;
    margin: 40px auto;
}
.eyebrow[b-ysidfct497] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.title[b-ysidfct497] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-ysidfct497] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.admin-empty[b-ysidfct497] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 24px 0;
}
.admin-empty.admin-error[b-ysidfct497] {
    color: var(--color-error);
}
.type-picker[b-ysidfct497] {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
.type-option[b-ysidfct497] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-ink);
    cursor: pointer;
}
.type-option input[b-ysidfct497] {
    width: auto;
}
.category-picker[b-ysidfct497] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.category-picker label[b-ysidfct497] {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-ink-soft);
}
.category-picker select[b-ysidfct497] {
    padding: 8px 12px;
    min-width: 220px;
    font-size: 14px;
    color: var(--color-ink);
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
}
.category-picker select:hover[b-ysidfct497] {
    border-color: var(--color-accent);
}
.recipient-picker[b-ysidfct497] {
    margin-bottom: 24px;
}
.btn[b-ysidfct497] {
    padding: 9px 18px;
    border-radius: var(--radius-md);
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.btn-primary[b-ysidfct497] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover:not(:disabled)[b-ysidfct497] {
    background: var(--color-accent-hover);
}
.btn-primary:disabled[b-ysidfct497] {
    opacity: 0.4;
    cursor: not-allowed;
}
.form-hint[b-ysidfct497] {
    margin-top: 16px;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
/* /Pages/AdminReferences.razor.rz.scp.css */
.admin-wrap[b-3lgdntc2t5] {
    max-width: 720px;
    margin: 40px auto;
}
.eyebrow[b-3lgdntc2t5] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.title[b-3lgdntc2t5] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-3lgdntc2t5] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.category-picker[b-3lgdntc2t5] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.category-picker label[b-3lgdntc2t5] {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-ink-soft);
}
.category-picker select[b-3lgdntc2t5] {
    padding: 8px 12px;
    min-width: 220px;
    font-size: 14px;
    color: var(--color-ink);
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
}
.category-picker select:hover[b-3lgdntc2t5] {
    border-color: var(--color-accent);
}
.admin-empty[b-3lgdntc2t5] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 24px 0;
}
.admin-empty.admin-error[b-3lgdntc2t5] {
    color: var(--color-error);
}
.lookup-table[b-3lgdntc2t5] {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.lookup-table th[b-3lgdntc2t5], .lookup-table td[b-3lgdntc2t5] {
    text-align: left;
    padding: 10px 14px;
    font-size: 14px;
}
.lookup-table th[b-3lgdntc2t5] {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    border-bottom: 1px solid var(--color-border);
}
.lookup-table tbody tr + tr td[b-3lgdntc2t5] {
    border-top: 1px solid var(--color-border);
}
.lookup-table input[type="text"][b-3lgdntc2t5] {
    width: 100%;
    padding: 6px 8px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
}
.sort-input[b-3lgdntc2t5] {
    width: 70px;
    padding: 6px 8px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
}
.inactive-row[b-3lgdntc2t5] {
    opacity: 0.55;
}
.add-row[b-3lgdntc2t5] {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}
.add-row input[type="text"][b-3lgdntc2t5] {
    flex: 1;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
}
.btn[b-3lgdntc2t5] {
    padding: 9px 18px;
    border-radius: var(--radius-md);
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.btn-primary[b-3lgdntc2t5] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover:not(:disabled)[b-3lgdntc2t5] {
    background: var(--color-accent-hover);
}
.btn-primary:disabled[b-3lgdntc2t5] {
    opacity: 0.4;
    cursor: not-allowed;
}
.btn-ghost[b-3lgdntc2t5] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}
.btn-ghost:hover:not(:disabled)[b-3lgdntc2t5] {
    background: var(--color-accent-soft);
    color: var(--color-ink);
}
.btn-small[b-3lgdntc2t5] {
    padding: 4px 10px;
    font-size: 12px;
    margin-left: 8px;
}
.badge-default[b-3lgdntc2t5] {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--color-accent-soft);
    color: var(--color-accent);
}
.form-hint[b-3lgdntc2t5] {
    margin-top: 16px;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
/* /Pages/Home.razor.rz.scp.css */
.recent-section[b-c19lmy8y9g] {
    max-width: 960px;
    margin-top: 48px;
}
.recent-header[b-c19lmy8y9g] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 16px;
}
.recent-header h2[b-c19lmy8y9g] {
    font-size: 20px;
    font-weight: 500;
    margin: 0;
}
.recent-link[b-c19lmy8y9g] {
    font-size: 13px;
    color: var(--color-accent, #13293d);
    text-decoration: none;
}
.recent-link:hover[b-c19lmy8y9g] {
    text-decoration: underline;
}
.recent-empty[b-c19lmy8y9g] {
    color: var(--color-ink-soft, #5a5a5a);
    font-size: 14px;
    padding: 16px 0;
}
.recent-table[b-c19lmy8y9g] {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface, #fff);
    border: 1px solid var(--color-border, #dee2e6);
    border-radius: var(--radius-lg, 10px);
    overflow: hidden;
}
.recent-table th[b-c19lmy8y9g], .recent-table td[b-c19lmy8y9g] {
    text-align: left;
    padding: 12px 16px;
    font-size: 14px;
}
.recent-table th[b-c19lmy8y9g] {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-soft, #5a5a5a);
    border-bottom: 1px solid var(--color-border, #dee2e6);
}
.recent-table tbody tr + tr td[b-c19lmy8y9g] {
    border-top: 1px solid var(--color-border, #dee2e6);
}
.recent-row[b-c19lmy8y9g] {
    cursor: pointer;
    transition: background 0.12s ease;
}
.recent-row:hover[b-c19lmy8y9g] {
    background: var(--color-accent-soft, #f5f7f9);
}
.status-badge[b-c19lmy8y9g] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}
.status-draft[b-c19lmy8y9g] {
    background: var(--color-border, #dee2e6);
    color: var(--color-ink-soft, #5a5a5a);
}

@media (max-width: 640px) {
    .recent-table[b-c19lmy8y9g] { display: block; overflow-x: auto; }
}
/* /Pages/Login.razor.rz.scp.css */
/* Centres the card in whatever height the layout's .content leaves. min-height rather than
   height so a short viewport scrolls instead of clipping the card. */
.login-shell[b-kf41y5tzah] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    padding: 32px 16px;
}

.login-card[b-kf41y5tzah] {
    width: 100%;
    max-width: 420px;
    padding: 40px 36px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    text-align: center;
}

.login-logo[b-kf41y5tzah] {
    height: 192px;
    width: auto;
    margin-bottom: 28px;
}

.login-card h1[b-kf41y5tzah] {
    margin: 0 0 8px;
    font-family: var(--font-display);
    font-size: 26px;
    line-height: 1.2;
    color: var(--color-ink);
}

.login-lede[b-kf41y5tzah] {
    margin: 0 0 28px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--color-ink-soft);
}

/* Microsoft's sign-in button convention: their mark on a neutral surface, not recoloured to the
   app's palette. Recognisability is the point — it tells people this is their work account. */
.ms-signin[b-kf41y5tzah] {
    /* A <button>, not a link: sign-in is an action that records interaction state, not a
       navigation. These reset the UA button defaults that would otherwise show through. */
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    color: var(--color-ink);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s ease;
}

.ms-signin:hover[b-kf41y5tzah] {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.ms-mark[b-kf41y5tzah] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.login-note[b-kf41y5tzah] {
    margin: 24px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--color-ink-faint);
}

.login-continue[b-kf41y5tzah] {
    display: inline-block;
    padding: 11px 20px;
    background: var(--color-accent);
    border-radius: var(--radius-md);
    color: #fff;
    font-size: 14.5px;
    font-weight: 500;
    text-decoration: none;
}

/* ── Local development form ───────────────────────────────────────────────────────────────── */

.login-field[b-kf41y5tzah] {
    margin-bottom: 16px;
    text-align: left;
}

.login-field label[b-kf41y5tzah] {
    display: block;
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--color-ink-soft);
}

/* ::deep — InputText renders its own <input>, which scoped CSS can't reach from here. */
.login-field[b-kf41y5tzah]  input {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    transition: all 0.15s ease;
}

.login-field[b-kf41y5tzah]  input:focus {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.login-submit[b-kf41y5tzah] {
    width: 100%;
    padding: 11px 16px;
    margin-top: 4px;
    background: var(--color-accent);
    border: none;
    border-radius: var(--radius-md);
    color: #fff;
    font-size: 14.5px;
    font-weight: 500;
    cursor: pointer;
}

.login-submit:disabled[b-kf41y5tzah] {
    opacity: 0.6;
    cursor: default;
}

.login-error[b-kf41y5tzah] {
    margin-bottom: 16px;
    padding: 10px 12px;
    background: var(--color-error-bg);
    border: 1px solid var(--color-error-border);
    border-radius: var(--radius-md);
    color: var(--color-error);
    font-size: 13px;
    text-align: left;
}

.login-validation[b-kf41y5tzah] {
    display: block;
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--color-error);
}
/* /Pages/RFPIntake.razor.rz.scp.css */
.upload-wrap[b-o4s6ubf5jk] {
    max-width: 720px;
    margin: 40px auto;
}
.eyebrow[b-o4s6ubf5jk] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 24px;
}
.title[b-o4s6ubf5jk] {
    font-size: 52px;
    line-height: 1.05;
    margin-bottom: 20px;
}
.title em[b-o4s6ubf5jk] {
    font-style: italic;
    color: var(--color-accent);
}
.lede[b-o4s6ubf5jk] {
    font-size: 16px;
    color: var(--color-ink-soft);
    margin-bottom: 40px;
    max-width: 560px;
}
.dropzone[b-o4s6ubf5jk] {
    display: block;
    position: relative;
    border: 1.5px dashed var(--color-border-strong);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    padding: 60px 40px;
    cursor: pointer;
    transition: all 0.18s ease;
}
.dropzone:hover[b-o4s6ubf5jk], .dropzone.is-dragging[b-o4s6ubf5jk] {
    border-color: var(--color-accent);
    background: var(--color-accent-soft);
    transform: translateY(-1px);
}
.dropzone[b-o4s6ubf5jk]  input[type="file"] {
    display: none;
}
.dropzone-inner[b-o4s6ubf5jk] {
    display: flex;
    align-items: center;
    gap: 24px;
}
.dropzone-icon[b-o4s6ubf5jk] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-accent);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.dropzone-text[b-o4s6ubf5jk] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dropzone-text strong[b-o4s6ubf5jk] {
    font-size: 17px;
    font-weight: 500;
}
.dropzone-text span[b-o4s6ubf5jk] {
    color: var(--color-ink-soft);
    font-size: 14px;
}
.loading-card[b-o4s6ubf5jk] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow-md);
}
.loading-progress-bar[b-o4s6ubf5jk] {
    width: 100%;
    height: 8px;
    background: var(--color-border);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 20px;
}
.loading-progress-fill[b-o4s6ubf5jk] {
    height: 100%;
    background: var(--color-accent);
    border-radius: 999px;
    transition: width 0.15s linear;
}
.loading-text strong[b-o4s6ubf5jk] {
    display: block;
    font-size: 17px;
    margin-bottom: 4px;
}
.loading-text span[b-o4s6ubf5jk] {
    color: var(--color-ink-soft);
    font-size: 14px;
}

/* Agent replied without extractable fields (not an RFP, or a clarifying question) */
.notice-card[b-o4s6ubf5jk] {
    background: var(--color-surface);
    border: 1px solid var(--color-warning);
    border-radius: var(--radius-lg);
    padding: 32px 40px;
    box-shadow: var(--shadow-md);
}
.notice-icon[b-o4s6ubf5jk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--color-warning);
    color: white;
    font-size: 14px;
    font-weight: 700;
    font-style: italic;
    font-family: Georgia, serif;
    margin-bottom: 16px;
}
.notice-text strong[b-o4s6ubf5jk] {
    display: block;
    font-size: 17px;
    margin-bottom: 8px;
}
.notice-text p[b-o4s6ubf5jk] {
    color: var(--color-ink-soft);
    font-size: 14.5px;
    line-height: 1.6;
    white-space: pre-line;
    margin: 0 0 24px;
}

/* Request-level failure (network/server error) — distinct from the agent's own "couldn't
   extract fields" reply above, which is a successful response with no useful content. */
.notice-card.error[b-o4s6ubf5jk] {
    border-color: var(--color-error-border);
}
.notice-card.error .notice-icon[b-o4s6ubf5jk] {
    background: var(--color-error);
}
.btn[b-o4s6ubf5jk] {
    padding: 11px 22px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.btn-primary[b-o4s6ubf5jk] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover[b-o4s6ubf5jk] {
    background: var(--color-accent-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

@media (max-width: 640px) {
    .title[b-o4s6ubf5jk] { font-size: 36px; }
    .dropzone[b-o4s6ubf5jk] { padding: 36px 24px; }
    .dropzone-inner[b-o4s6ubf5jk] { flex-direction: column; text-align: center; gap: 16px; }
}
/* /Pages/RFPIntakeReview.razor.rz.scp.css */
.form-wrap[b-ugq4w4cx53] { max-width: 920px; margin: 0 auto; }
.eyebrow[b-ugq4w4cx53] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 16px;
}
.title[b-ugq4w4cx53] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.lede strong[b-ugq4w4cx53] {
    color: var(--color-ink);
    font-weight: 500;
}
.summary-bar[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 20px 28px;
    margin-bottom: 36px;
}
.summary-item[b-ugq4w4cx53] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.summary-num[b-ugq4w4cx53] {
    font-family: var(--font-display);
    font-size: 32px;
    line-height: 1;
}
.summary-num.green[b-ugq4w4cx53] { color: var(--color-success); }
.summary-num.red[b-ugq4w4cx53] { color: var(--color-error); }
.summary-num.orange[b-ugq4w4cx53] { color: var(--color-warning); }
.summary-label[b-ugq4w4cx53] {
    font-size: 12px;
    color: var(--color-ink-soft);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.summary-divider[b-ugq4w4cx53] {
    width: 1px;
    height: 36px;
    background: var(--color-border);
}
/* Groups every editable control so one `disabled` attribute makes a submitted RFP read-only — see
   the .form-fields markup. Reset to a layout no-op: a fieldset carries its own border, padding and
   margin, plus a min-width:min-content that would stop the grids inside it from shrinking. */
.form-fields[b-ugq4w4cx53] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}
/* The opportunity's destination systems, directly under the status row — see the
   .opportunity-links markup. Wraps rather than scrolls: there are at most three, and stacking
   reads better than a cramped row on a narrow window. */
.opportunity-links[b-ugq4w4cx53] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.debug-panels[b-ugq4w4cx53] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 36px;
}
.debug-panels .debug-panel[b-ugq4w4cx53] {
    flex: 1 1 320px;
    margin-bottom: 0;
}
.debug-panel[b-ugq4w4cx53] {
    margin-bottom: 36px;
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-md);
    padding: 10px 16px;
    background: #fafaf7;
}
.debug-panel summary[b-ugq4w4cx53] {
    cursor: pointer;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
.debug-panel pre[b-ugq4w4cx53] {
    margin: 12px 0 4px;
    padding: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: 12.5px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 320px;
    overflow-y: auto;
}
.section-label[b-ugq4w4cx53] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin: 32px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
}
.section-label:first-child[b-ugq4w4cx53] { margin-top: 0; }
.section-label-hint[b-ugq4w4cx53] {
    text-transform: none;
    letter-spacing: normal;
    font-style: italic;
    color: var(--color-ink-faint);
    margin-left: 6px;
}
.tab-intro[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    font-size: 13.5px;
    margin: 0 0 20px;
}

.tabs[b-ugq4w4cx53] {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--color-border);
}
.tab[b-ugq4w4cx53] {
    flex: 1 1 0;
    text-align: center;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-ink-soft);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-ugq4w4cx53] {
    color: var(--color-ink);
}
.tab.active[b-ugq4w4cx53] {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.field-grid[b-ugq4w4cx53] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 24px;
}
.field-grid .field.span-2[b-ugq4w4cx53] {
    grid-column: 1 / -1;
}
.field-grid textarea[b-ugq4w4cx53] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    font-family: inherit;
    resize: vertical;
}
.field-grid textarea:focus[b-ugq4w4cx53] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.detail-empty[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 16px 0 24px;
}
.request-card[b-ugq4w4cx53] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 20px 24px;
    margin-bottom: 20px;
}
.request-card-header[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 16px;
}
.request-card-actions[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 8px;
}
.request-card-footer-actions[b-ugq4w4cx53] {
    border-top: 1px solid var(--color-border);
    padding-top: 16px;
}
.icon-action[b-ugq4w4cx53] {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: transparent;
    cursor: pointer;
    transition: all 0.15s ease;
}
.icon-action svg[b-ugq4w4cx53] {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.icon-action-danger[b-ugq4w4cx53] {
    color: var(--color-error);
}
.icon-action-danger:hover:not(:disabled)[b-ugq4w4cx53] {
    background: var(--color-error-bg);
    border-color: var(--color-error-border);
}
.icon-action:disabled[b-ugq4w4cx53] {
    opacity: 0.55;
    cursor: not-allowed;
}
.remove-confirmation[b-ugq4w4cx53] {
    color: var(--color-error);
    font-size: 12.5px;
    font-weight: 500;
    margin-right: 4px;
}
.btn-small[b-ugq4w4cx53] {
    padding: 6px 14px;
    font-size: 12.5px;
    min-height: 38px;
}
.add-request-row[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}
.add-request-role[b-ugq4w4cx53] {
    min-width: 220px;
}
.form-hint.error[b-ugq4w4cx53] {
    color: var(--color-error);
    text-align: left;
}
.submit-error-list[b-ugq4w4cx53] {
    margin: 6px 0 0;
    padding-left: 18px;
    font-style: normal;
}
.form-hint.error strong[b-ugq4w4cx53] {
    font-style: normal;
}
.status-filled[b-ugq4w4cx53] {
    background: var(--color-success-bg);
    color: var(--color-success);
}
.status-cancelled[b-ugq4w4cx53] {
    background: var(--color-error-bg);
    color: var(--color-error);
}

@media (max-width: 760px) {
    .field-grid[b-ugq4w4cx53] {
        grid-template-columns: 1fr;
    }
}
.field[b-ugq4w4cx53] {
    margin-bottom: 20px;
    position: relative;
}
.field label[b-ugq4w4cx53] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--color-ink);
}
.field input[b-ugq4w4cx53], .field select[b-ugq4w4cx53] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    transition: all 0.15s ease;
    font-size: 14px;
    color: var(--color-ink);
}
.field input:focus[b-ugq4w4cx53], .field select:focus[b-ugq4w4cx53] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}
.field.extracted input[b-ugq4w4cx53], .field.extracted select[b-ugq4w4cx53], .field.extracted textarea[b-ugq4w4cx53], .field.extracted[b-ugq4w4cx53]  input {
    background: var(--color-success-bg);
    border-color: var(--color-success-border);
}
.field.extracted input:focus[b-ugq4w4cx53], .field.extracted select:focus[b-ugq4w4cx53], .field.extracted textarea:focus[b-ugq4w4cx53], .field.extracted[b-ugq4w4cx53]  input:focus {
    box-shadow: 0 0 0 3px rgba(45, 122, 78, 0.15);
}
.field.missing input[b-ugq4w4cx53], .field.missing select[b-ugq4w4cx53], .field.missing textarea[b-ugq4w4cx53], .field.missing[b-ugq4w4cx53]  input {
    background: var(--color-error-bg);
    border-color: var(--color-error-border);
}
.field.missing input:focus[b-ugq4w4cx53], .field.missing select:focus[b-ugq4w4cx53], .field.missing textarea:focus[b-ugq4w4cx53], .field.missing[b-ugq4w4cx53]  input:focus {
    box-shadow: 0 0 0 3px rgba(198, 56, 56, 0.12);
}
.field.inferred input[b-ugq4w4cx53], .field.inferred select[b-ugq4w4cx53], .field.inferred textarea[b-ugq4w4cx53], .field.inferred[b-ugq4w4cx53]  input {
    background: var(--color-warning-bg);
    border-color: var(--color-warning-border);
}
.field.inferred input:focus[b-ugq4w4cx53], .field.inferred select:focus[b-ugq4w4cx53], .field.inferred textarea:focus[b-ugq4w4cx53], .field.inferred[b-ugq4w4cx53]  input:focus {
    box-shadow: 0 0 0 3px rgba(184, 125, 31, 0.15);
}
/* Read-only record: drop the extracted/inferred/missing colour coding. It's a review aid for
   deciding what still needs attention, and once the RFP is submitted there's nothing to act on —
   a wall of green with the odd orange field just reads as decoration. One rule for all three
   states: it outranks .field.<state> input on specificity, so each state falls back to the
   neutral surface. Scoped to the disabled fieldset, which is exactly the submitted case (see
   .form-fields). */
.form-fields:disabled .field input[b-ugq4w4cx53],
.form-fields:disabled .field select[b-ugq4w4cx53],
.form-fields:disabled .field textarea[b-ugq4w4cx53],
.form-fields:disabled .field[b-ugq4w4cx53]  input {
    background: var(--color-bg);
    border-color: var(--color-border-strong);
}
/* Submitted history is read-only, so field guidance and validation messages no longer apply. */
.form-fields:disabled .field-msg[b-ugq4w4cx53],
.form-fields:disabled .field-msg.error[b-ugq4w4cx53],
.form-fields:disabled .field-msg.warning[b-ugq4w4cx53],
.form-fields:disabled .date-warning[b-ugq4w4cx53],
.form-fields:disabled .requirements-warning[b-ugq4w4cx53] {
    display: none;
}
.field-msg[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 12.5px;
}
.field-msg.error[b-ugq4w4cx53] { color: var(--color-error); }
.field-msg.warning[b-ugq4w4cx53] {
    color: var(--color-warning);
    cursor: help;
}
.info-icon[b-ugq4w4cx53] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--color-error);
    color: white;
    font-size: 9px;
    font-weight: 700;
    font-style: italic;
    font-family: Georgia, serif;
}
.info-icon.warning[b-ugq4w4cx53] { background: var(--color-warning); }
/* Financials: the two computed values, shown as a results panel rather than as fields — see the
   .calculated-panel markup. Spans both columns of the .field-grid it sits in. */
.calculated-panel[b-ugq4w4cx53] {
    grid-column: 1 / -1;
    margin-top: 4px;
    margin-bottom: 20px;
    padding: 14px 18px;
    border-left: 3px solid var(--color-border-strong);
    background: #f4f1ea;
    border-radius: var(--radius-md);
}
.calculated-title[b-ugq4w4cx53] {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 10px;
}
.calculated-list[b-ugq4w4cx53] {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.calculated-row[b-ugq4w4cx53] {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(90px, 160px) 1fr;
    align-items: baseline;
    gap: 4px 16px;
}
.calculated-row dt[b-ugq4w4cx53] {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-ink);
}
.calculated-row dd[b-ugq4w4cx53] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-ink);
}
.calculated-row dd.calculated-empty[b-ugq4w4cx53] { color: var(--color-ink-faint); font-weight: 400; }
.calculated-row dd.calculated-formula[b-ugq4w4cx53] {
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    color: var(--color-ink-faint);
}
@media (max-width: 640px) {
    .calculated-row[b-ugq4w4cx53] { grid-template-columns: 1fr; }
}
.derived-tag[b-ugq4w4cx53] {
    font-size: 11px;
    font-weight: 400;
    color: var(--color-ink-faint);
    font-style: italic;
}
/* Promoted to the top of each resource-request card — see the .recommended-panel markup in
   RFPIntakeReview.razor for why it sits above the field grid rather than inside it. */
.recommended-panel[b-ugq4w4cx53] {
    margin-top: 12px;
    /* .field-grid sets no row gap, so the first field below sits flush against whatever precedes
       it — this panel owns the separation. */
    margin-bottom: 22px;
    padding: 12px 14px 14px;
    border: 1.5px solid var(--color-accent);
    border-radius: var(--radius-md);
    background: var(--color-accent-soft);
}
.recommended-panel-header[b-ugq4w4cx53] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.recommended-panel-header h4[b-ugq4w4cx53] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-ink);
}
.recommended-count[b-ugq4w4cx53] {
    min-width: 20px;
    padding: 1px 7px;
    border-radius: 10px;
    background: var(--color-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}
.recommended-panel-note[b-ugq4w4cx53] {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--color-ink-soft);
    line-height: 1.5;
}
.recommended-panel-note:last-child[b-ugq4w4cx53] {
    margin-bottom: 0;
}
/* Inside the panel the cards sit on its tinted ground, so they need their own surface to stay
   legible — the shared .recommended-person background was picked against the plain card. */
.recommended-panel .recommended-person[b-ugq4w4cx53] {
    background: var(--color-surface);
}

.recommended-people[b-ugq4w4cx53] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.recommended-person[b-ugq4w4cx53] {
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: #f4f1ea;
}
.recommended-person summary[b-ugq4w4cx53] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    cursor: pointer;
}
.recommended-person-name[b-ugq4w4cx53] {
    font-weight: 500;
    color: var(--color-ink);
}
.recommended-person p[b-ugq4w4cx53] {
    margin: 10px 0 6px;
    font-size: 13.5px;
    color: var(--color-ink);
}
.recommended-person ul[b-ugq4w4cx53] {
    margin: 0 0 4px;
    padding-left: 20px;
    font-size: 13.5px;
    color: var(--color-ink);
    line-height: 1.5;
}
.date-warning[b-ugq4w4cx53], .requirements-warning[b-ugq4w4cx53] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 6px;
    padding: 8px 10px;
    background: var(--color-warning-bg);
    border: 1px solid var(--color-warning-border);
    border-radius: var(--radius-sm);
    font-size: 12.5px;
    color: var(--color-warning);
}
.date-warning .confirm-row[b-ugq4w4cx53], .requirements-warning .confirm-row[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-ink);
    font-weight: 500;
    cursor: pointer;
}
.date-warning .confirm-row input[type="checkbox"][b-ugq4w4cx53], .requirements-warning .confirm-row input[type="checkbox"][b-ugq4w4cx53] {
    width: auto;
    cursor: pointer;
}
.tab-nav[b-ugq4w4cx53] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
}
.actions[b-ugq4w4cx53] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
}
.btn[b-ugq4w4cx53] {
    padding: 11px 22px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.btn-primary[b-ugq4w4cx53] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover:not(:disabled)[b-ugq4w4cx53] {
    background: var(--color-accent-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}
.btn-primary:disabled[b-ugq4w4cx53] {
    opacity: 0.4;
    cursor: not-allowed;
}
.btn-ghost[b-ugq4w4cx53] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}
.btn-ghost:hover[b-ugq4w4cx53] {
    background: var(--color-surface);
    color: var(--color-ink);
}
.btn-arrow[b-ugq4w4cx53] { transition: transform 0.15s ease; }
.btn-primary:hover:not(:disabled) .btn-arrow[b-ugq4w4cx53] { transform: translateX(3px); }
/* Explains blanked fields, above the tabs so it is seen before the form is scanned. Warning
   rather than error colours: nothing is wrong, the reviewer just has to choose a current value. */
.offlist-notice[b-ugq4w4cx53] {
    margin-bottom: 20px;
    padding: 12px 14px;
    background: var(--color-warning-bg);
    border: 1px solid var(--color-warning-border);
    border-radius: var(--radius-md);
    color: var(--color-ink);
    text-align: left;
}
.offlist-notice strong[b-ugq4w4cx53] {
    font-weight: 600;
}
.offlist-notice p[b-ugq4w4cx53] {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
}

.form-hint[b-ugq4w4cx53] {
    text-align: right;
    margin-top: 12px;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
.actions-right[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 12px;
}
/* Small text-style action under a field's intro text — see the Activity Post Recipients "Clear all".
   The negative top margin pulls it up into the intro's 20px bottom margin, so it reads as part of it. */
.clear-all-btn[b-ugq4w4cx53] {
    display: block;
    margin: -12px 0 10px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-ink-soft);
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}
.clear-all-btn:hover:not(:disabled)[b-ugq4w4cx53] {
    color: var(--color-error);
}
.clear-all-btn:disabled[b-ugq4w4cx53] {
    opacity: 0.4;
    cursor: default;
}
/* Reports the page's autosave — there is no Save button; see the .actions-right markup. */
.autosave-status[b-ugq4w4cx53] {
    font-size: 13px;
    color: var(--color-ink-soft);
}
.autosave-status.failed[b-ugq4w4cx53] {
    color: var(--color-error);
}
.status-row[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.status-current[b-ugq4w4cx53] {
    font-size: 14px;
    color: var(--color-ink-soft);
    display: flex;
    align-items: center;
    gap: 10px;
}
.status-actions[b-ugq4w4cx53] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.status-badge[b-ugq4w4cx53] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}
.status-draft[b-ugq4w4cx53] {
    background: var(--color-border);
    color: var(--color-ink-soft);
}
.status-submitted[b-ugq4w4cx53] {
    background: var(--color-warning-bg);
    color: var(--color-warning);
}
.btn-danger[b-ugq4w4cx53] {
    color: var(--color-error);
    border-color: var(--color-error-border);
}
.btn-danger:hover:not(:disabled)[b-ugq4w4cx53] {
    background: var(--color-error-bg);
}
.btn-danger-solid[b-ugq4w4cx53] {
    background: var(--color-error);
    color: white;
    border: none;
}
.btn-danger-solid:hover:not(:disabled)[b-ugq4w4cx53] {
    background: var(--color-error-border);
}
.btn-danger-solid:disabled[b-ugq4w4cx53] {
    opacity: 0.4;
    cursor: not-allowed;
}
.notice-card[b-ugq4w4cx53] {
    background: var(--color-surface);
    border: 1px solid var(--color-warning);
    border-radius: var(--radius-lg);
    padding: 32px 40px;
    box-shadow: var(--shadow-md);
}
.notice-icon[b-ugq4w4cx53] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--color-warning);
    color: white;
    font-size: 14px;
    font-weight: 700;
    font-style: italic;
    font-family: Georgia, serif;
    margin-bottom: 16px;
}
.notice-card.error[b-ugq4w4cx53] {
    border-color: var(--color-error-border);
}
.notice-card.error .notice-icon[b-ugq4w4cx53] {
    background: var(--color-error);
}
.notice-text strong[b-ugq4w4cx53] {
    display: block;
    font-size: 17px;
    margin-bottom: 8px;
}
.notice-text p[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
}
.loading-card[b-ugq4w4cx53] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow-md);
}
.loading-spinner[b-ugq4w4cx53] {
    width: 32px;
    height: 32px;
    border: 2.5px solid var(--color-border);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: spin-b-ugq4w4cx53 0.8s linear infinite;
    margin-bottom: 20px;
}
@keyframes spin-b-ugq4w4cx53 {
    to { transform: rotate(360deg); }
}
.loading-text strong[b-ugq4w4cx53] {
    display: block;
    font-size: 17px;
    margin-bottom: 4px;
}
.loading-text span[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    font-size: 14px;
}
.submitting-card[b-ugq4w4cx53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.submitting-card .loading-spinner[b-ugq4w4cx53] {
    margin-bottom: 24px;
}
.modal-backdrop[b-ugq4w4cx53] {
    position: fixed;
    inset: 0;
    background: rgba(20, 20, 16, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}
.modal-card[b-ugq4w4cx53] {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 32px;
    width: 100%;
    max-width: 480px;
}
.modal-card h3[b-ugq4w4cx53] {
    font-size: 20px;
    margin-bottom: 12px;
}
.modal-lede[b-ugq4w4cx53] {
    color: var(--color-ink-soft);
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
}
.modal-card select[b-ugq4w4cx53] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    margin-bottom: 8px;
}
.modal-actions[b-ugq4w4cx53] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}
/* /Pages/RFPIntakeSuccess.razor.rz.scp.css */
.success-wrap[b-5ylritr3uh] {
    max-width: 620px;
    margin: 40px auto;
}
.success-card[b-5ylritr3uh] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 56px 48px;
    box-shadow: var(--shadow-md);
    text-align: left;
    animation: rise-b-5ylritr3uh 0.5s ease;
}
@keyframes rise-b-5ylritr3uh {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
.success-icon[b-5ylritr3uh] {
    width: 56px;
    height: 56px;
    color: var(--color-success);
    margin-bottom: 28px;
}
.success-icon svg[b-5ylritr3uh] {
    width: 100%;
    height: 100%;
    animation: drawIn-b-5ylritr3uh 0.7s ease 0.2s both;
}
@keyframes drawIn-b-5ylritr3uh {
    from { transform: scale(0.6); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.eyebrow[b-5ylritr3uh] {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    margin-bottom: 12px;
}
.title[b-5ylritr3uh] {
    font-size: 44px;
    line-height: 1.1;
    margin-bottom: 12px;
}
.lede[b-5ylritr3uh] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
}
.records[b-5ylritr3uh] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}
.record[b-5ylritr3uh] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #fafaf7;
    animation: rise-b-5ylritr3uh 0.4s ease both;
}
.record:nth-child(1)[b-5ylritr3uh] { animation-delay: 0.3s; }
.record:nth-child(2)[b-5ylritr3uh] { animation-delay: 0.45s; }
.record:nth-child(3)[b-5ylritr3uh] { animation-delay: 0.6s; }
.record-logo[b-5ylritr3uh] {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}
.record-logo.salesforce[b-5ylritr3uh] {
    background: linear-gradient(135deg, #00a1e0, #1798c1);
}
.record-logo.mavenlink[b-5ylritr3uh] {
    background: linear-gradient(135deg, var(--color-accent), var(--color-accent-deep));
}
.record-logo.sharepoint[b-5ylritr3uh] {
    background: linear-gradient(135deg, #038387, #036c70);
}
.record-body[b-5ylritr3uh] { flex: 1; }
.record-name[b-5ylritr3uh] {
    font-weight: 500;
    font-size: 15px;
    margin-bottom: 2px;
}
.record-meta[b-5ylritr3uh] {
    font-size: 12.5px;
    color: var(--color-ink-soft);
}
.sharepoint-path[b-5ylritr3uh] {
    display: block;
    overflow-wrap: anywhere;
}
.record-link[b-5ylritr3uh] {
    font-size: 12.5px;
    font-weight: 500;
    color: var(--color-accent);
    white-space: nowrap;
}
.record-link:hover[b-5ylritr3uh] {
    text-decoration: underline;
}
.actions[b-5ylritr3uh] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
}
.btn[b-5ylritr3uh] {
    padding: 11px 22px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.btn-primary[b-5ylritr3uh] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover[b-5ylritr3uh] {
    background: var(--color-accent-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}
.btn-ghost[b-5ylritr3uh] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}
.btn-ghost:hover[b-5ylritr3uh] {
    background: var(--color-surface);
    color: var(--color-ink);
}
.btn-arrow[b-5ylritr3uh] { transition: transform 0.15s ease; }
.btn-primary:hover .btn-arrow[b-5ylritr3uh] { transform: translateX(3px); }
@media (max-width: 640px) {
    .success-card[b-5ylritr3uh] { padding: 36px 24px; }
    .title[b-5ylritr3uh] { font-size: 32px; }
    .record[b-5ylritr3uh] { flex-wrap: wrap; }
}

/* TEMP DEBUG — n8n request/response inspection, remove alongside the markup in
   RFPIntakeSuccess.razor once no longer needed. */
.debug-note[b-5ylritr3uh] {
    margin: 24px 0 8px;
    font-size: 12.5px;
    font-style: italic;
    color: var(--color-ink-faint);
}
.debug-panels[b-5ylritr3uh] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.debug-panel[b-5ylritr3uh] {
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-md);
    padding: 10px 16px;
    background: #fafaf7;
}
.debug-panel summary[b-5ylritr3uh] {
    cursor: pointer;
    font-size: 12.5px;
    color: var(--color-ink-faint);
    font-style: italic;
}
.debug-panel pre[b-5ylritr3uh] {
    margin: 12px 0 4px;
    padding: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: 12.5px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 400px;
    overflow-y: auto;
}
/* /Pages/RFPs.razor.rz.scp.css */
.list-wrap[b-ktby36dank] {
    max-width: 960px;
    margin: 40px auto;
}
.title[b-ktby36dank] {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 16px;
}
.lede[b-ktby36dank] {
    color: var(--color-ink-soft);
    margin-bottom: 32px;
    max-width: 560px;
}
.btn[b-ktby36dank] {
    padding: 11px 22px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.btn-primary[b-ktby36dank] {
    background: var(--color-accent);
    color: white;
}
.btn-primary:hover[b-ktby36dank] {
    background: var(--color-accent-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}
.intake-link[b-ktby36dank] {
    margin-top: 8px;
    margin-bottom: 40px;
}
.section-title[b-ktby36dank] {
    font-size: 20px;
    font-weight: 600;
    margin: 40px 0 8px;
}
.list-empty[b-ktby36dank] {
    color: var(--color-ink-soft);
    font-size: 14px;
    padding: 24px 0;
}
.list-empty.list-error[b-ktby36dank] {
    color: var(--color-error);
}
.submissions-table[b-ktby36dank] {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-top: 1.5rem;
}
.submissions-table th[b-ktby36dank], .submissions-table td[b-ktby36dank] {
    text-align: left;
    padding: 12px 16px;
    font-size: 14px;
}
.submissions-table th[b-ktby36dank] {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-soft);
    border-bottom: 1px solid var(--color-border);
}
.submissions-table th.sortable[b-ktby36dank] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.submissions-table th.sortable:hover[b-ktby36dank] {
    color: var(--color-ink);
}
.submissions-table tbody tr + tr td[b-ktby36dank] {
    border-top: 1px solid var(--color-border);
}
.submission-row[b-ktby36dank] {
    cursor: pointer;
    transition: background 0.12s ease;
}
.submission-row:hover[b-ktby36dank] {
    background: var(--color-accent-soft);
}
.status-badge[b-ktby36dank] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}
.status-draft[b-ktby36dank] {
    background: var(--color-border);
    color: var(--color-ink-soft);
}
.status-submitted[b-ktby36dank] {
    background: var(--color-warning-bg);
    color: var(--color-warning);
}

@media (max-width: 640px) {
    .title[b-ktby36dank] { font-size: 32px; }
    .submissions-table[b-ktby36dank] { display: block; overflow-x: auto; }
}
/* /Shared/ContactSupport.razor.rz.scp.css */
/* Sits in the layout's top bar beside the User Guide link, so it matches that rather than the
   page's own primary buttons — present on every screen, never competing with the action the
   page is actually for. */
.support-btn[b-usvfwh8ma6] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    background: transparent;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    color: var(--color-ink-soft);
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.support-btn:hover[b-usvfwh8ma6] {
    border-color: var(--color-accent);
    color: var(--color-accent);
    background: var(--color-accent-soft);
}

.support-btn svg[b-usvfwh8ma6] {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

/* ── Dialog ───────────────────────────────────────────────────────────────────────────────────
   Same shape as the review page's own modals (RFPIntakeReview.razor.css). Repeated rather than
   shared because CSS isolation scopes those to that page — a shared stylesheet for two modals is
   the refactor to make when there's a third. */

.modal-backdrop[b-usvfwh8ma6] {
    position: fixed;
    inset: 0;
    background: rgba(20, 20, 16, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 16px;
}

.modal-card[b-usvfwh8ma6] {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 32px;
    width: 100%;
    max-width: 520px;
    text-align: left;
}

.modal-card h3[b-usvfwh8ma6] {
    margin: 0 0 12px;
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--color-ink);
}

.modal-lede[b-usvfwh8ma6] {
    margin: 0 0 20px;
    color: var(--color-ink-soft);
    font-size: 14px;
    line-height: 1.5;
}

.support-label[b-usvfwh8ma6] {
    display: block;
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--color-ink-soft);
}

.modal-card textarea[b-usvfwh8ma6] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-ink);
    resize: vertical;
}

.modal-card textarea:focus[b-usvfwh8ma6] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.modal-card textarea:disabled[b-usvfwh8ma6] {
    background: var(--color-bg);
    color: var(--color-ink-soft);
}

/* The note and the counter share a row; the note takes the space and the counter stays put. */
.support-meta[b-usvfwh8ma6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
    font-size: 12px;
    color: var(--color-ink-faint);
}

.support-attached[b-usvfwh8ma6] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.45;
    color: var(--color-ink-soft);
}

.support-attached .info-icon[b-usvfwh8ma6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--color-accent-soft);
    color: var(--color-accent);
    font-size: 10px;
    font-weight: 700;
    font-style: normal;
}

.support-count[b-usvfwh8ma6] {
    flex-shrink: 0;
    white-space: nowrap;
}

.support-error[b-usvfwh8ma6] {
    margin-top: 14px;
    padding: 10px 12px;
    background: var(--color-error-bg);
    border: 1px solid var(--color-error-border);
    border-radius: var(--radius-md);
    color: var(--color-error);
    font-size: 13px;
    line-height: 1.45;
}

.support-reference[b-usvfwh8ma6] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.support-reference span[b-usvfwh8ma6] {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-ink-faint);
}

.support-reference code[b-usvfwh8ma6] {
    font-size: 12.5px;
    color: var(--color-ink);
    /* An id is long and has no natural break points; wrapping anywhere beats overflowing. */
    word-break: break-all;
}

.modal-actions[b-usvfwh8ma6] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

/* .btn styles live in the review page's own scoped stylesheet, so they aren't inherited here. */
.btn[b-usvfwh8ma6] {
    padding: 11px 22px;
    border: none;
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-primary[b-usvfwh8ma6] {
    background: var(--color-accent);
    color: #fff;
}

.btn-primary:hover:not(:disabled)[b-usvfwh8ma6] {
    background: var(--color-accent-hover);
}

.btn-primary:disabled[b-usvfwh8ma6] {
    opacity: 0.4;
    cursor: not-allowed;
}

.btn-ghost[b-usvfwh8ma6] {
    background: transparent;
    color: var(--color-ink-soft);
    border: 1px solid var(--color-border-strong);
}

.btn-ghost:hover:not(:disabled)[b-usvfwh8ma6] {
    background: var(--color-bg);
    color: var(--color-ink);
}

.btn-ghost:disabled[b-usvfwh8ma6] {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 760px) {
    /* The label would be the first thing to go, and it's the one part that says what to type. */
    .support-btn span[b-usvfwh8ma6] {
        display: none;
    }
}
/* /Shared/LocationInput.razor.rz.scp.css */
/* Matches SearchableSelect.razor.css's input sizing, which in turn matches the app's plain
   ".field input, .field select" — Blazor's CSS isolation won't let the parent page's scoped
   stylesheet reach into this component's markup, so the rules are restated here. */
input[b-ml789ernam] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    transition: all 0.15s ease;
}

input:focus[b-ml789ernam] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}
/* /Shared/MultiSelectChips.razor.rz.scp.css */
/* Mirrors SearchableSelect.razor.css — the dropdown list/option/empty rules are intentionally
   identical so the two pickers look like one control. Only the chip row above the input is new. */
.multi-select-chips[b-hrw80n0l3i] {
    position: relative;
}

.chip-row[b-hrw80n0l3i] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.chip[b-hrw80n0l3i] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px 4px 10px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-accent-soft);
    font-size: 13px;
    color: var(--color-ink);
    line-height: 1.4;
}

/* A stored name that is no longer in the options list — see IsKnown(). Flagged rather than
   hidden, matching the "flag it, don't hide it" treatment the review form uses elsewhere. */
.chip-unknown[b-hrw80n0l3i] {
    background: var(--color-surface);
    border-style: dashed;
    color: var(--color-ink-soft);
}

.chip-remove[b-hrw80n0l3i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--color-ink-soft);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

.chip-remove:hover[b-hrw80n0l3i] {
    background: var(--color-surface);
    color: var(--color-ink);
}

.multi-select-input[b-hrw80n0l3i] {
    position: relative;
}

/* Same sizing as SearchableSelect's input, so both match the app's plain .field input/select. */
.multi-select-input input[b-hrw80n0l3i] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    transition: all 0.15s ease;
}

.multi-select-input input:focus[b-hrw80n0l3i] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.searchable-select-list[b-hrw80n0l3i] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 220px;
    overflow-y: auto;
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.searchable-select-option[b-hrw80n0l3i] {
    padding: 8px 12px;
    font-size: 14px;
    color: var(--color-ink);
    cursor: pointer;
}

.searchable-select-option:hover[b-hrw80n0l3i],
.searchable-select-option.is-highlighted[b-hrw80n0l3i] {
    background: var(--color-accent-soft);
}

.searchable-select-empty[b-hrw80n0l3i] {
    padding: 8px 12px;
    font-size: 14px;
    color: var(--color-ink-soft);
}
/* /Shared/SearchableSelect.razor.rz.scp.css */
.searchable-select[b-yszytdtcfd] {
    position: relative;
}

/* Fills whatever container it's placed in — matches the app's plain .field input/select sizing,
   which this replaces (see RFPIntakeReview.razor.css's ".field input, .field select"). A parent
   that isn't a .field (e.g. the "add resource request" row) wraps this in its own sized element
   instead of overriding these internals — Blazor's CSS isolation doesn't let a parent's scoped
   stylesheet reach into a child component's markup without ::deep. */
.searchable-select input[b-yszytdtcfd] {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-ink);
    transition: all 0.15s ease;
}

.searchable-select input:focus[b-yszytdtcfd] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.searchable-select-list[b-yszytdtcfd] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 220px;
    overflow-y: auto;
    background: var(--color-surface);
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.searchable-select-option[b-yszytdtcfd] {
    padding: 8px 12px;
    font-size: 14px;
    color: var(--color-ink);
    cursor: pointer;
}

.searchable-select-option:hover[b-yszytdtcfd],
.searchable-select-option.is-highlighted[b-yszytdtcfd] {
    background: var(--color-accent-soft);
}

.searchable-select-empty[b-yszytdtcfd] {
    padding: 8px 12px;
    font-size: 14px;
    color: var(--color-ink-soft);
}

/* Clear (×) button — sits inside the input's right edge. .has-clear adds the padding that keeps
   long values from running underneath it. */
.searchable-select input.has-clear[b-yszytdtcfd] {
    padding-right: 34px;
}

.searchable-select-clear[b-yszytdtcfd] {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--color-ink-soft);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.searchable-select-clear:hover[b-yszytdtcfd] {
    background: var(--color-accent-soft);
    color: var(--color-ink);
}

/* The "Add …" row. Deliberately set apart from the real options: picking it creates a Salesforce
   Account rather than selecting one, and that shouldn't look like just another row in the list. */
.searchable-select-create[b-yszytdtcfd] {
    display: flex;
    align-items: center;
    gap: 8px;
    border-top: 1px solid var(--color-border);
    color: var(--color-accent);
    font-weight: 500;
}
.searchable-select-create-mark[b-yszytdtcfd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-size: 12px;
    line-height: 1;
}
