/* /Components/Admin/AdminSellerLeadDetail.razor.rz.scp.css */
/* Local to this component only (Blazor CSS isolation) -- do not rename to wr-upgrade-overlay/
   wr-upgrade-modal, those class names are scoped to PremiumFeatureModal.razor.css specifically
   and would render completely unstyled here. */
.wr-admin-drawer-overlay[b-6bbc5pi774] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    justify-content: flex-end;
    z-index: 1000;
}

.wr-admin-drawer[b-6bbc5pi774] {
    background: #fff;
    width: min(480px, 100%);
    height: 100%;
    overflow-y: auto;
    padding: 24px;
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
}

.wr-admin-drawer-head[b-6bbc5pi774] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.wr-admin-drawer-body label[b-6bbc5pi774] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-ink-500, #334155);
    margin-bottom: 14px;
}

.wr-admin-drawer-body h3[b-6bbc5pi774] {
    margin: 20px 0 8px;
    font-size: 0.95rem;
    color: var(--wr-ink-400, #64748b);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.wr-admin-drawer-body h3:first-child[b-6bbc5pi774] {
    margin-top: 0;
}

.wr-admin-drawer-foot[b-6bbc5pi774] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--wr-border, #e2e8f0);
}

.wr-admin-dialog[b-6bbc5pi774] {
    background: #fff;
    width: min(420px, 92vw);
    margin: auto;
    border-radius: 12px;
    padding: 24px;
    align-self: center;
}

.wr-admin-dialog label[b-6bbc5pi774] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 14px 0;
}

.wr-admin-dialog-actions[b-6bbc5pi774] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.wr-admin-drawer-overlay:has(.wr-admin-dialog)[b-6bbc5pi774] {
    justify-content: center;
    align-items: center;
}

@media (max-width: 900px) {
    .wr-admin-two-col[b-6bbc5pi774] {
        grid-template-columns: 1fr !important;
    }
}
/* /Components/Admin/AdminSellerLeads.razor.rz.scp.css */
.wr-admin-sl-tabs[b-7oqmiassdh] {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--wr-border, #e2e8f0);
}

.wr-admin-sl-tab[b-7oqmiassdh] {
    background: none;
    border: none;
    padding: 8px 14px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-ink-400, #64748b);
    cursor: pointer;
    border-bottom: 2px solid transparent;
}

.wr-admin-sl-tab.active[b-7oqmiassdh] {
    color: var(--wr-ink-700, #0f172a);
    border-bottom-color: var(--wr-gold, #d4a537);
}

.wr-admin-sl-filters[b-7oqmiassdh] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 16px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 10px;
}

.wr-admin-sl-pagination[b-7oqmiassdh] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    font-size: 0.85rem;
}

.wr-row-menu[b-7oqmiassdh] {
    position: relative;
    display: inline-block;
}

.wr-row-menu > summary[b-7oqmiassdh] {
    list-style: none;
    cursor: pointer;
}

.wr-row-menu > summary[b-7oqmiassdh]::-webkit-details-marker {
    display: none;
}

.wr-row-menu-list[b-7oqmiassdh] {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 20;
    background: #fff;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    min-width: 160px;
    display: flex;
    flex-direction: column;
    padding: 6px;
}

.wr-row-menu-list a[b-7oqmiassdh],
.wr-row-menu-list button[b-7oqmiassdh] {
    display: block;
    padding: 8px 10px;
    text-align: left;
    background: none;
    border: none;
    font-size: 0.85rem;
    color: var(--wr-ink-700, #0f172a);
    text-decoration: none;
    border-radius: 6px;
    cursor: pointer;
}

.wr-row-menu-list a:hover[b-7oqmiassdh],
.wr-row-menu-list button:hover[b-7oqmiassdh] {
    background: var(--wr-bg-hover, #f1f5f9);
}
/* /Components/Admin/AdminSellerOpportunityConsole.razor.rz.scp.css */
.ai-opp-tabs[b-ic61oit6pz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 1rem 0;
    border-bottom: 1px solid var(--wr-border);
    padding-bottom: 0.5rem;
}

.ai-opp-tab[b-ic61oit6pz] {
    border: none;
    background: none;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-ink-600);
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.ai-opp-tab.active[b-ic61oit6pz] {
    background: var(--wr-accent-soft, #eef2ff);
    color: var(--wr-accent, #4f46e5);
}

.ai-opp-inline-row[b-ic61oit6pz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.ai-opp-modal-ack[b-ic61oit6pz] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: var(--wr-ink-600);
    cursor: pointer;
    white-space: nowrap;
}
/* /Components/Admin/AdminSellerOpportunityConversations.razor.rz.scp.css */
/* Owner-SMS conversations inbox. Two panes: a list on the left, the thread on the right. */

.wr-conv .wr-card[b-lv0k5dvxjt] {
    margin-bottom: 16px;
}

.wr-conv-message p[b-lv0k5dvxjt] { margin: 0; }
.wr-conv-message.is-error[b-lv0k5dvxjt] { border-color: var(--wr3-danger, #dc2626); }
.wr-conv-message.is-success[b-lv0k5dvxjt] { border-color: var(--wr3-success, #16a34a); }

.wr-conv-muted[b-lv0k5dvxjt] {
    display: block;
    font-size: 0.75rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-conv-warning[b-lv0k5dvxjt] {
    color: var(--wr3-warning-ink, #92400e);
    font-size: 0.8rem;
}

.wr-conv-warning i[b-lv0k5dvxjt] { margin-right: 5px; }

/* ---------- Tabs ---------- */

.wr-conv-tabs[b-lv0k5dvxjt] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wr-conv-tab[b-lv0k5dvxjt] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 13px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: transparent;
    font-size: 0.81rem;
    color: var(--wr-ink-600, #475569);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.wr-conv-tab:hover[b-lv0k5dvxjt] {
    border-color: var(--wr3-blue, #2563eb);
    color: var(--wr3-blue, #2563eb);
}

.wr-conv-tab.is-active[b-lv0k5dvxjt] {
    background: var(--wr3-blue, #2563eb);
    border-color: var(--wr3-blue, #2563eb);
    color: #fff;
}

/* Unmatched replies need a human; the tab says so without shouting. */
.wr-conv-tab.is-attention:not(.is-active)[b-lv0k5dvxjt] {
    border-color: var(--wr3-warning, #f59e0b);
    color: var(--wr3-warning-ink, #92400e);
}

.wr-conv-tab__count[b-lv0k5dvxjt] {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.28);
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
}

.wr-conv-tab.is-active .wr-conv-tab__count[b-lv0k5dvxjt] {
    background: rgba(255, 255, 255, 0.26);
}

/* ---------- Two-pane layout ---------- */

.wr-conv-layout[b-lv0k5dvxjt] {
    display: grid;
    grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.wr-conv-list[b-lv0k5dvxjt] {
    max-height: 78vh;
    overflow-y: auto;
    padding: 12px;
}

.wr-conv-search[b-lv0k5dvxjt] {
    margin-bottom: 10px;
}

.wr-conv-hint[b-lv0k5dvxjt] {
    margin: 0 0 12px;
    padding: 9px 11px;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.25);
    font-size: 0.79rem;
    color: var(--wr-ink-600, #475569);
    line-height: 1.5;
}

/* ---------- List items ---------- */

.wr-conv-item[b-lv0k5dvxjt] {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 10px;
    padding: 10px;
    border-radius: 9px;
    border: 1px solid transparent;
    text-decoration: none;
    color: inherit;
    margin-bottom: 4px;
}

.wr-conv-item:hover[b-lv0k5dvxjt] {
    background: rgba(148, 163, 184, 0.10);
}

.wr-conv-item.is-selected[b-lv0k5dvxjt] {
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.30);
}

/* An unread thread carries a left rule, which survives the selected state. */
.wr-conv-item.is-unread[b-lv0k5dvxjt] {
    border-left: 3px solid var(--wr3-blue, #2563eb);
}

.wr-conv-item__thumb[b-lv0k5dvxjt] {
    width: 56px;
    height: 42px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #1e3a5f;
}

.wr-conv-item__body[b-lv0k5dvxjt] { min-width: 0; }

.wr-conv-item__top[b-lv0k5dvxjt] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.wr-conv-item__top strong[b-lv0k5dvxjt] {
    flex: 1;
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wr-conv-unread[b-lv0k5dvxjt] {
    min-width: 19px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--wr3-blue, #2563eb);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    text-align: center;
}

.wr-conv-item__preview[b-lv0k5dvxjt] {
    margin: 4px 0;
    font-size: 0.79rem;
    color: var(--wr-ink-600, #475569);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wr-conv-item__badges[b-lv0k5dvxjt] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 4px 0;
}

.wr-conv-item__badges .wr-badge[b-lv0k5dvxjt] { font-size: 0.68rem; }

/* ---------- Unmatched ---------- */

.wr-conv-unmatched[b-lv0k5dvxjt] {
    padding: 10px;
    border-radius: 9px;
    border: 1px solid rgba(148, 163, 184, 0.32);
    margin-bottom: 8px;
    cursor: pointer;
}

.wr-conv-unmatched:hover[b-lv0k5dvxjt] { background: rgba(148, 163, 184, 0.09); }

.wr-conv-unmatched.is-selected[b-lv0k5dvxjt] {
    border-color: var(--wr3-blue, #2563eb);
    background: rgba(37, 99, 235, 0.07);
}

.wr-conv-unmatched__head[b-lv0k5dvxjt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.wr-conv-unmatched p[b-lv0k5dvxjt] {
    margin: 0 0 5px;
    font-size: 0.82rem;
}

.wr-conv-candidate[b-lv0k5dvxjt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.wr-conv-quote[b-lv0k5dvxjt] {
    margin: 10px 0;
    padding: 10px 14px;
    border-left: 3px solid var(--wr3-blue, #2563eb);
    background: rgba(148, 163, 184, 0.10);
    font-size: 0.88rem;
}

/* ---------- Thread pane ---------- */

.wr-conv-summary[b-lv0k5dvxjt] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.wr-conv-summary h2[b-lv0k5dvxjt] { margin: 0 0 3px; font-size: 1.05rem; }

.wr-conv-compliance[b-lv0k5dvxjt] {
    background: rgba(37, 99, 235, 0.05);
    border-color: rgba(37, 99, 235, 0.20);
}

.wr-conv-compliance.is-blocked[b-lv0k5dvxjt] {
    background: rgba(220, 38, 38, 0.06);
    border-color: rgba(220, 38, 38, 0.25);
}

.wr-conv-compliance p[b-lv0k5dvxjt] {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.55;
}

.wr-conv-compliance i[b-lv0k5dvxjt] { margin-right: 7px; }
.wr-conv-compliance.is-blocked i[b-lv0k5dvxjt] { color: var(--wr3-danger, #dc2626); }

/* ---------- AI card ---------- */

.wr-conv-ai__head[b-lv0k5dvxjt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.wr-conv-ai__head h3[b-lv0k5dvxjt] {
    margin: 0;
    flex: 1;
    font-size: 0.86rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-600, #475569);
}

.wr-conv-suggested[b-lv0k5dvxjt] {
    margin-top: 12px;
    padding: 11px 13px;
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.11);
    border: 1px dashed rgba(148, 163, 184, 0.5);
}

.wr-conv-suggested p[b-lv0k5dvxjt] {
    margin: 5px 0 9px;
    font-size: 0.86rem;
}

/* The line that keeps the AI in its place. Quiet, but always present. */
.wr-conv-advisory[b-lv0k5dvxjt] {
    margin-top: 12px;
    font-style: italic;
}

/* ---------- Thread ---------- */

.wr-conv-thread[b-lv0k5dvxjt] {
    list-style: none;
    margin: 10px 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wr-conv-thread li[b-lv0k5dvxjt] {
    max-width: 76%;
    padding: 9px 13px;
    border-radius: 13px;
    font-size: 0.87rem;
}

.wr-conv-thread li.is-out[b-lv0k5dvxjt] {
    align-self: flex-end;
    background: rgba(37, 99, 235, 0.10);
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-bottom-right-radius: 3px;
}

.wr-conv-thread li.is-in[b-lv0k5dvxjt] {
    align-self: flex-start;
    background: rgba(148, 163, 184, 0.15);
    border: 1px solid rgba(148, 163, 184, 0.30);
    border-bottom-left-radius: 3px;
}

.wr-conv-thread li p[b-lv0k5dvxjt] {
    margin: 0 0 5px;
    white-space: pre-wrap;
}

.wr-conv-thread li > span[b-lv0k5dvxjt] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.71rem;
    color: var(--wr-ink-400, #94a3b8);
}

/* ---------- Compose ---------- */

.wr-conv-field[b-lv0k5dvxjt] {
    display: block;
    margin-bottom: 10px;
}

.wr-conv-field span[b-lv0k5dvxjt] {
    display: block;
    font-size: 0.78rem;
    color: var(--wr-ink-600, #475569);
    margin-bottom: 4px;
}

.wr-conv-confirm[b-lv0k5dvxjt] {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid var(--wr3-warning, #f59e0b);
    background: rgba(245, 158, 11, 0.08);
    font-size: 0.85rem;
}

.wr-conv-confirm p[b-lv0k5dvxjt] { margin: 0 0 10px; }
.wr-conv-confirm__actions[b-lv0k5dvxjt] { display: flex; gap: 8px; }

.wr-conv-blocked[b-lv0k5dvxjt] {
    margin: 0;
    padding: 11px 13px;
    border-radius: 8px;
    border: 1px solid rgba(220, 38, 38, 0.25);
    background: rgba(220, 38, 38, 0.06);
    font-size: 0.84rem;
    line-height: 1.55;
}

.wr-conv-blocked i[b-lv0k5dvxjt] { color: var(--wr3-danger, #dc2626); margin-right: 6px; }

/* ---------- Empty ---------- */

.wr-conv-empty[b-lv0k5dvxjt] {
    text-align: center;
    padding: 40px 16px;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-conv-empty i[b-lv0k5dvxjt] { font-size: 1.8rem; margin-bottom: 10px; }
.wr-conv-empty p[b-lv0k5dvxjt] { margin: 0; font-size: 0.86rem; }

@media (max-width: 1100px) {
    .wr-conv-layout[b-lv0k5dvxjt] { grid-template-columns: 1fr; }
    .wr-conv-list[b-lv0k5dvxjt] { max-height: none; }
}

/* ---- Appointment panel ---- */

.wr-conv-appt[b-lv0k5dvxjt] {
    padding: 1rem 1.25rem 1.25rem;
    margin-top: 1rem;
}

.wr-conv-appt__head[b-lv0k5dvxjt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}

.wr-conv-appt__head h3[b-lv0k5dvxjt] {
    margin: 0;
    font-size: .95rem;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.wr-conv-appt__list[b-lv0k5dvxjt] {
    list-style: none;
    margin: 0 0 .75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.wr-conv-appt__list li[b-lv0k5dvxjt] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    padding: .45rem .6rem;
    background: #f8fafc;
    border-radius: 8px;
    font-size: .85rem;
}

.wr-conv-appt__type[b-lv0k5dvxjt] {
    font-weight: 650;
    color: #0f172a;
}

.wr-conv-appt__when[b-lv0k5dvxjt] {
    color: #64748b;
    flex: 1 1 auto;
}

.wr-conv-appt__form[b-lv0k5dvxjt] {
    margin-top: .75rem;
    padding-top: .9rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

/* Type, date and time sit on one row -- they are the only three fields, because everything else
   about the owner and the property is already known. */
.wr-conv-appt__grid[b-lv0k5dvxjt] {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: .75rem;
}

@media (max-width: 720px) {
    .wr-conv-appt__grid[b-lv0k5dvxjt] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/AdminSellerOpportunityDetail.razor.rz.scp.css */
/* Admin property-detail view for one seller opportunity. */

.wr-opp-detail .wr-card[b-olyxp4vkxs] {
    margin-bottom: 16px;
}

.wr-opp-detail h2[b-olyxp4vkxs] {
    margin: 0 0 12px;
    font-size: 1.02rem;
}

.wr-opp-detail h3[b-olyxp4vkxs] {
    margin: 22px 0 8px;
    font-size: 0.86rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-detail h4[b-olyxp4vkxs] {
    margin: 0 0 6px;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-detail__top[b-olyxp4vkxs] {
    margin-bottom: 8px;
}

.wr-opp-detail__missing[b-olyxp4vkxs] {
    text-align: center;
    padding: 48px 16px;
}

.wr-opp-detail__missing i[b-olyxp4vkxs] {
    font-size: 2.2rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-opp-detail__message.is-error[b-olyxp4vkxs] { border-color: var(--wr3-danger, #dc2626); }
.wr-opp-detail__message.is-success[b-olyxp4vkxs] { border-color: var(--wr3-success, #16a34a); }
.wr-opp-detail__message p[b-olyxp4vkxs] { margin: 0; }

.wr-opp-detail__quarantine[b-olyxp4vkxs] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border-color: var(--wr3-danger, #dc2626);
    background: rgba(220, 38, 38, 0.05);
}

.wr-opp-detail__quarantine i[b-olyxp4vkxs] {
    font-size: 1.4rem;
    color: var(--wr3-danger, #dc2626);
}

.wr-opp-detail__quarantine p[b-olyxp4vkxs] {
    margin: 4px 0 0;
    font-size: 0.86rem;
    color: var(--wr-ink-600, #475569);
}

/* ---------- Hero ---------- */

.wr-opp-hero[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: minmax(240px, 340px) 1fr;
    gap: 22px;
    align-items: start;
}

.wr-opp-hero__media[b-olyxp4vkxs] {
    margin: 0;
}

.wr-opp-hero__media img[b-olyxp4vkxs] {
    width: 100%;
    aspect-ratio: 400 / 260;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #1e3a5f;
}

.wr-opp-hero__media figcaption[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
    font-size: 0.76rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-opp-hero__facts h1[b-olyxp4vkxs] {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.25;
}

.wr-opp-hero__place[b-olyxp4vkxs] {
    margin: 4px 0 12px;
    color: var(--wr-ink-600, #475569);
    font-size: 0.9rem;
}

.wr-opp-hero__badges[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.wr-opp-hero__grid[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
    margin: 0;
}

.wr-opp-hero__grid dt[b-olyxp4vkxs],
.wr-opp-facts dt[b-olyxp4vkxs] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400, #94a3b8);
    margin-bottom: 2px;
}

.wr-opp-hero__grid dd[b-olyxp4vkxs],
.wr-opp-facts dd[b-olyxp4vkxs] {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--wr-ink-900, #0f172a);
}

/* ---------- Layout ---------- */

.wr-opp-detail__cols[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 18px;
    align-items: start;
}

.wr-opp-facts[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin: 0;
}

.wr-opp-note[b-olyxp4vkxs] {
    margin: 16px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.18);
    font-size: 0.83rem;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-note i[b-olyxp4vkxs] {
    margin-right: 6px;
    color: var(--wr3-blue, #2563eb);
}

.wr-opp-muted[b-olyxp4vkxs] {
    font-size: 0.83rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-opp-warn[b-olyxp4vkxs] {
    font-size: 0.84rem;
    color: var(--wr3-warning-ink, #92400e);
}

.wr-opp-warn i[b-olyxp4vkxs] {
    margin-right: 5px;
}

/* ---------- Score ---------- */

.wr-opp-scorehead[b-olyxp4vkxs] {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.wr-opp-scorehead__num[b-olyxp4vkxs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    padding: 14px;
    border-radius: 12px;
    border: 2px solid;
    text-align: center;
}

.wr-opp-scorehead__num strong[b-olyxp4vkxs] {
    font-size: 2.1rem;
    line-height: 1;
}

.wr-opp-scorehead__num span[b-olyxp4vkxs] {
    margin-top: 4px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.wr-opp-scorehead__num.is-high[b-olyxp4vkxs] { border-color: #16a34a; color: #15803d; background: rgba(22, 163, 74, 0.08); }
.wr-opp-scorehead__num.is-good[b-olyxp4vkxs] { border-color: #2563eb; color: #1d4ed8; background: rgba(37, 99, 235, 0.08); }
.wr-opp-scorehead__num.is-mid[b-olyxp4vkxs] { border-color: #f59e0b; color: #b45309; background: rgba(245, 158, 11, 0.10); }
.wr-opp-scorehead__num.is-low[b-olyxp4vkxs] { border-color: #94a3b8; color: #475569; background: rgba(148, 163, 184, 0.12); }

.wr-opp-scorehead__meta[b-olyxp4vkxs] {
    flex: 1;
    min-width: 240px;
    font-size: 0.85rem;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-scorehead__meta p[b-olyxp4vkxs] {
    margin: 0 0 4px;
}

.wr-opp-breakdown .num[b-olyxp4vkxs] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}

.wr-opp-breakdown .num.pos[b-olyxp4vkxs] { color: #15803d; }
.wr-opp-breakdown .num.neg[b-olyxp4vkxs] { color: #b91c1c; }

.wr-opp-breakdown tr.total td[b-olyxp4vkxs] {
    border-top: 2px solid rgba(148, 163, 184, 0.4);
    font-weight: 700;
}

.wr-opp-key[b-olyxp4vkxs] {
    display: block;
    font-size: 0.7rem;
    font-family: var(--wr-font-mono, ui-monospace, monospace);
    color: var(--wr-ink-400, #94a3b8);
}

.wr-opp-warnings[b-olyxp4vkxs] {
    margin: 0;
    padding-left: 18px;
    font-size: 0.84rem;
    color: var(--wr3-warning-ink, #92400e);
    line-height: 1.6;
}

/* ---------- AI ---------- */

.wr-opp-ai__head[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.wr-opp-ai__summary[b-olyxp4vkxs] {
    margin: 0 0 12px;
    font-size: 0.92rem;
    line-height: 1.6;
}

.wr-opp-ai__cols[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 18px;
}

.wr-opp-ai__cols ul[b-olyxp4vkxs] {
    margin: 0;
    padding-left: 18px;
    font-size: 0.85rem;
    line-height: 1.6;
}

.wr-opp-codes[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0 0;
}

.wr-opp-disclaimer[b-olyxp4vkxs] {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.12);
    font-size: 0.8rem;
    color: var(--wr-ink-600, #475569);
}

/* ---------- Timeline / notes ---------- */

.wr-opp-timeline[b-olyxp4vkxs],
.wr-opp-notes[b-olyxp4vkxs] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wr-opp-timeline li[b-olyxp4vkxs],
.wr-opp-notes li[b-olyxp4vkxs] {
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    font-size: 0.85rem;
}

.wr-opp-timeline li:last-child[b-olyxp4vkxs],
.wr-opp-notes li:last-child[b-olyxp4vkxs] {
    border-bottom: 0;
}

.wr-opp-timeline li p[b-olyxp4vkxs],
.wr-opp-notes li p[b-olyxp4vkxs] {
    margin: 4px 0 0;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-timeline li span[b-olyxp4vkxs] {
    margin-left: 8px;
    font-size: 0.76rem;
}

/* ---------- Actions ---------- */

.wr-opp-field[b-olyxp4vkxs] {
    display: block;
    margin-bottom: 12px;
}

.wr-opp-field span[b-olyxp4vkxs] {
    display: block;
    font-size: 0.78rem;
    color: var(--wr-ink-600, #475569);
    margin-bottom: 4px;
}

.wr-opp-actions[b-olyxp4vkxs] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wr-opp-actions .wr-btn[b-olyxp4vkxs] {
    width: 100%;
    justify-content: center;
}

.wr-opp-confirm[b-olyxp4vkxs] {
    margin-top: 12px;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--wr3-warning, #f59e0b);
    background: rgba(245, 158, 11, 0.08);
    font-size: 0.84rem;
}

.wr-opp-confirm p[b-olyxp4vkxs] {
    margin: 0 0 10px;
}

.wr-opp-confirm__actions[b-olyxp4vkxs] {
    display: flex;
    gap: 8px;
}

/* ---------- Images ---------- */

.wr-opp-images[b-olyxp4vkxs] {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wr-opp-images li[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 10px;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.wr-opp-images img[b-olyxp4vkxs] {
    width: 72px;
    height: 52px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

.wr-opp-images strong[b-olyxp4vkxs] {
    display: block;
    font-size: 0.82rem;
}

.wr-opp-images__actions[b-olyxp4vkxs] {
    grid-column: 2;
    display: flex;
    gap: 6px;
}

@media (max-width: 1100px) {
    .wr-opp-detail__cols[b-olyxp4vkxs] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .wr-opp-hero[b-olyxp4vkxs] {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================================
   Recommendation card, MLS timeline and research sections.
   ========================================================================================== */

.wr-opp-reco[b-olyxp4vkxs] {
    border-width: 2px;
}

.wr-opp-reco.is-eligible[b-olyxp4vkxs] { border-color: var(--wr3-success, #16a34a); }
.wr-opp-reco.is-blocked[b-olyxp4vkxs] { border-color: var(--wr3-danger, #dc2626); }

.wr-opp-reco__head[b-olyxp4vkxs] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}

.wr-opp-reco__label[b-olyxp4vkxs] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-opp-reco__head h2[b-olyxp4vkxs] {
    margin: 2px 0 0;
    font-size: 1.35rem;
}

.wr-opp-reco__badges[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wr-opp-reco__blocked[b-olyxp4vkxs],
.wr-opp-reco__eligible[b-olyxp4vkxs] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 0.88rem;
}

.wr-opp-reco__blocked[b-olyxp4vkxs] {
    background: rgba(220, 38, 38, 0.07);
    border: 1px solid rgba(220, 38, 38, 0.25);
}

.wr-opp-reco__eligible[b-olyxp4vkxs] {
    background: rgba(22, 163, 74, 0.07);
    border: 1px solid rgba(22, 163, 74, 0.25);
}

.wr-opp-reco__blocked i[b-olyxp4vkxs] { color: var(--wr3-danger, #dc2626); font-size: 1.2rem; }
.wr-opp-reco__eligible i[b-olyxp4vkxs] { color: var(--wr3-success, #16a34a); font-size: 1.2rem; }

.wr-opp-reco__blocked p[b-olyxp4vkxs],
.wr-opp-reco__eligible p[b-olyxp4vkxs] {
    margin: 4px 0 0;
}

.wr-opp-reco__grid[b-olyxp4vkxs] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
    margin: 16px 0 0;
}

.wr-opp-reco__grid dt[b-olyxp4vkxs] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400, #94a3b8);
    margin-bottom: 2px;
}

.wr-opp-reco__grid dd[b-olyxp4vkxs] {
    margin: 0;
    font-size: 0.86rem;
    color: var(--wr-ink-900, #0f172a);
}

.wr-opp-override[b-olyxp4vkxs] {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(147, 51, 234, 0.07);
    border: 1px solid rgba(147, 51, 234, 0.22);
    font-size: 0.84rem;
}

.wr-opp-override i[b-olyxp4vkxs] { margin-right: 6px; color: #7e22ce; }

.wr-opp-verified[b-olyxp4vkxs] {
    font-size: 0.85rem;
    color: var(--wr3-success, #16a34a);
}

.wr-opp-verified i[b-olyxp4vkxs] { margin-right: 5px; }

/* ---------- MLS timeline ---------- */

.wr-opp-mls-timeline[b-olyxp4vkxs] {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    position: relative;
}

/* The connecting spine. Drawn behind the icons so events read as one sequence. */
.wr-opp-mls-timeline[b-olyxp4vkxs]::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: rgba(148, 163, 184, 0.35);
}

.wr-opp-mls-timeline li[b-olyxp4vkxs] {
    position: relative;
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 12px;
    padding: 8px 0;
}

.wr-opp-mls-timeline__icon[b-olyxp4vkxs] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wr-surface, #fff);
    border: 2px solid rgba(148, 163, 184, 0.5);
    font-size: 0.7rem;
    color: var(--wr-ink-600, #475569);
    z-index: 1;
}

.wr-opp-mls-timeline li strong[b-olyxp4vkxs] {
    display: block;
    font-size: 0.88rem;
}

.wr-opp-mls-timeline li span.wr-opp-muted[b-olyxp4vkxs] {
    display: block;
    font-size: 0.76rem;
    margin: 2px 0 4px;
}

/* ---------- Research findings ---------- */

.wr-opp-research[b-olyxp4vkxs] {
    margin-bottom: 10px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 8px;
    overflow: hidden;
}

.wr-opp-research summary[b-olyxp4vkxs] {
    display: flex;
    gap: 10px;
    align-items: baseline;
    padding: 10px 12px;
    cursor: pointer;
    background: rgba(148, 163, 184, 0.07);
    font-size: 0.88rem;
}

.wr-opp-research summary .wr-opp-muted[b-olyxp4vkxs] {
    margin-left: auto;
    font-size: 0.78rem;
}

.wr-opp-research__table[b-olyxp4vkxs] {
    margin: 0;
    font-size: 0.83rem;
}

.wr-opp-research__table tr.is-unknown td[b-olyxp4vkxs] {
    background: rgba(245, 158, 11, 0.05);
}

.wr-opp-unavailable[b-olyxp4vkxs] {
    display: block;
    font-size: 0.75rem;
    color: var(--wr3-warning-ink, #92400e);
    margin-top: 2px;
    max-width: 46ch;
}

.wr-opp-sub[b-olyxp4vkxs] {
    display: block;
    font-size: 0.72rem;
}

/* ---------- AI extras ---------- */

.wr-opp-ai__status[b-olyxp4vkxs] {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.18);
}

.wr-opp-ai__status p[b-olyxp4vkxs] {
    margin: 4px 0 0;
    font-size: 0.87rem;
    line-height: 1.6;
}

.wr-opp-ai__steps[b-olyxp4vkxs] {
    margin: 6px 0 0;
    padding-left: 20px;
    font-size: 0.86rem;
    line-height: 1.6;
}

.wr-opp-checkbox[b-olyxp4vkxs] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 12px;
    font-size: 0.83rem;
    color: var(--wr-ink-600, #475569);
}

.wr-opp-checkbox input[b-olyxp4vkxs] { margin-top: 3px; }

/* ---------- Owner SMS ---------- */

.wr-opp-sms__status[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.wr-opp-sms__ok[b-olyxp4vkxs],
.wr-opp-sms__blocked[b-olyxp4vkxs] {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    line-height: 1.55;
}

.wr-opp-sms__ok[b-olyxp4vkxs] {
    background: rgba(22, 163, 74, 0.07);
    border: 1px solid rgba(22, 163, 74, 0.25);
}

.wr-opp-sms__blocked[b-olyxp4vkxs] {
    background: rgba(220, 38, 38, 0.06);
    border: 1px solid rgba(220, 38, 38, 0.22);
}

.wr-opp-sms__ok i[b-olyxp4vkxs] { color: var(--wr3-success, #16a34a); margin-right: 6px; }
.wr-opp-sms__blocked i[b-olyxp4vkxs] { color: var(--wr3-danger, #dc2626); margin-right: 6px; }

/* Chat-style thread: ours on the right, theirs on the left. */
.wr-opp-thread[b-olyxp4vkxs] {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wr-opp-thread li[b-olyxp4vkxs] {
    max-width: 78%;
    padding: 9px 12px;
    border-radius: 12px;
    font-size: 0.86rem;
}

.wr-opp-thread li.is-out[b-olyxp4vkxs] {
    align-self: flex-end;
    background: rgba(37, 99, 235, 0.10);
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-bottom-right-radius: 3px;
}

.wr-opp-thread li.is-in[b-olyxp4vkxs] {
    align-self: flex-start;
    background: rgba(148, 163, 184, 0.14);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-bottom-left-radius: 3px;
}

.wr-opp-thread li p[b-olyxp4vkxs] {
    margin: 0 0 5px;
    white-space: pre-wrap;
}

.wr-opp-thread li span[b-olyxp4vkxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.72rem;
}

/* ---- Activity timeline ---- */

.wr-opp-timeline__head[b-olyxp4vkxs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}

.wr-opp-timeline__head h2[b-olyxp4vkxs] {
    margin: 0;
}

.wr-opp-timeline__list[b-olyxp4vkxs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.wr-opp-timeline__entry[b-olyxp4vkxs] {
    display: flex;
    gap: .75rem;
    padding-bottom: 1rem;
    position: relative;
}

/* The connecting rail. Drawn on the entry rather than as a separate element so it cannot get out
   of step with the list, and omitted on the last row so the line does not dangle. */
.wr-opp-timeline__entry:not(:last-child)[b-olyxp4vkxs]::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 28px;
    bottom: 0;
    width: 2px;
    background: #e2e8f0;
}

.wr-opp-timeline__icon[b-olyxp4vkxs] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    z-index: 1;
}

.wr-opp-timeline__body[b-olyxp4vkxs] {
    flex: 1 1 auto;
    min-width: 0;
}

.wr-opp-timeline__title[b-olyxp4vkxs] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    font-size: .88rem;
    font-weight: 600;
    color: #0f172a;
}

.wr-opp-timeline__title a[b-olyxp4vkxs] {
    color: #1d4ed8;
    text-decoration: none;
}

.wr-opp-timeline__title a:hover[b-olyxp4vkxs] {
    text-decoration: underline;
}

.wr-opp-timeline__detail[b-olyxp4vkxs] {
    margin: .2rem 0 .15rem;
    font-size: .82rem;
    line-height: 1.5;
    color: #64748b;
}
/* /Components/Admin/AdminSellerOpportunityReview.razor.rz.scp.css */
/* Admin review queue.
   Scoped to the page. Everything here builds on the shared wr-* tokens rather than redefining
   colour, so the queue tracks the rest of the admin UI automatically. */

.wr-opp-review .wr-card[b-y392pqpcp8] {
    margin-bottom: 16px;
}

/* ---------- "What you are reviewing" guide ---------- */

.wr-review-guide summary[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    list-style: none;
    font-size: 0.95rem;
}

.wr-review-guide summary[b-y392pqpcp8]::-webkit-details-marker {
    display: none;
}

.wr-review-guide summary i[b-y392pqpcp8] {
    color: var(--wr3-blue, #2563eb);
}

.wr-review-guide__toggle[b-y392pqpcp8] {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--wr-ink-400, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wr-review-guide__body[b-y392pqpcp8] {
    margin-top: 14px;
    font-size: 0.88rem;
    color: var(--wr-ink-600, #475569);
}

.wr-review-guide__cols[b-y392pqpcp8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 18px;
    margin: 14px 0;
}

.wr-review-guide__cols h4[b-y392pqpcp8] {
    margin: 0 0 6px;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-900, #0f172a);
}

.wr-review-guide__cols ul[b-y392pqpcp8] {
    margin: 0;
    padding-left: 18px;
    line-height: 1.6;
}

.wr-review-guide__note[b-y392pqpcp8] {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.18);
    font-size: 0.84rem;
}

.wr-review-guide__note i[b-y392pqpcp8] {
    margin-right: 6px;
    color: var(--wr3-blue, #2563eb);
}

/* ---------- Status message ---------- */

.wr-review-message p[b-y392pqpcp8] {
    margin: 0;
}

.wr-review-message.is-error[b-y392pqpcp8] {
    border-color: var(--wr3-danger, #dc2626);
}

.wr-review-message.is-success[b-y392pqpcp8] {
    border-color: var(--wr3-success, #16a34a);
}

/* ---------- Batch analysis ---------- */

.wr-review-batch__head[b-y392pqpcp8] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.wr-review-batch__head > div[b-y392pqpcp8] {
    flex: 1;
    min-width: 260px;
}

.wr-review-batch__head p[b-y392pqpcp8] {
    margin: 4px 0 0;
    font-size: 0.84rem;
    color: var(--wr-ink-600, #475569);
    max-width: 70ch;
}

.wr-review-batch__progress[b-y392pqpcp8] {
    margin-top: 14px;
}

.wr-progress[b-y392pqpcp8] {
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.25);
    overflow: hidden;
}

.wr-progress__bar[b-y392pqpcp8] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #38bdf8);
    transition: width 0.4s ease;
}

.wr-review-batch__stats[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 8px;
    font-size: 0.83rem;
    color: var(--wr-ink-600, #475569);
}

.wr-review-batch__stats .ok[b-y392pqpcp8] { color: var(--wr3-success, #16a34a); }
.wr-review-batch__stats .bad[b-y392pqpcp8] { color: var(--wr3-danger, #dc2626); }
.wr-review-batch__stats .muted[b-y392pqpcp8] { color: var(--wr-ink-400, #94a3b8); }

.wr-review-batch__errors[b-y392pqpcp8] {
    margin-top: 10px;
    font-size: 0.82rem;
}

.wr-review-batch__errors ul[b-y392pqpcp8] {
    margin: 8px 0 0;
    padding-left: 18px;
    max-height: 180px;
    overflow-y: auto;
    color: var(--wr3-danger, #dc2626);
}

/* ---------- Filters ---------- */

.wr-review-filters__grid[b-y392pqpcp8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
}

.wr-review-filters__grid label[b-y392pqpcp8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.8rem;
    color: var(--wr-ink-600, #475569);
}

.wr-review-filters__grid label em[b-y392pqpcp8] {
    font-style: normal;
    opacity: 0.6;
}

.wr-review-filters__pair[b-y392pqpcp8] {
    display: flex;
    gap: 6px;
}

.wr-review-filters__search[b-y392pqpcp8] {
    grid-column: span 2;
}

.wr-review-filters__actions[b-y392pqpcp8] {
    display: flex;
    gap: 8px;
}

/* ---------- Bulk actions ---------- */

.wr-review-bulk[b-y392pqpcp8] {
    border-color: var(--wr3-blue, #2563eb);
}

.wr-review-bulk__row[b-y392pqpcp8] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.wr-review-bulk__spacer[b-y392pqpcp8] {
    flex: 1;
}

.wr-review-bulk__reason[b-y392pqpcp8] {
    margin-top: 10px;
}

.wr-btn.is-danger[b-y392pqpcp8] {
    border-color: var(--wr3-danger, #dc2626);
    color: var(--wr3-danger, #dc2626);
}

.wr-review-confirm[b-y392pqpcp8] {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid var(--wr3-warning, #f59e0b);
    background: rgba(245, 158, 11, 0.08);
    font-size: 0.86rem;
}

.wr-review-confirm p[b-y392pqpcp8] {
    margin: 0 0 10px;
}

.wr-review-confirm__actions[b-y392pqpcp8] {
    display: flex;
    gap: 8px;
}

/* ---------- Table ---------- */

.wr-review-tablewrap[b-y392pqpcp8] {
    overflow-x: auto;
}

.wr-review-table[b-y392pqpcp8] {
    min-width: 1180px;
}

.wr-review-table th[b-y392pqpcp8],
.wr-review-table td[b-y392pqpcp8] {
    vertical-align: top;
}

.wr-review-table .col-check[b-y392pqpcp8] { width: 32px; }
.wr-review-table .col-img[b-y392pqpcp8] { width: 92px; }
.wr-review-table .col-address[b-y392pqpcp8] { min-width: 190px; }
.wr-review-table .col-score[b-y392pqpcp8] { width: 104px; }
.wr-review-table .col-ai[b-y392pqpcp8] { width: 122px; }
.wr-review-table .col-why[b-y392pqpcp8] { max-width: 260px; }
.wr-review-table .col-actions[b-y392pqpcp8] { width: 140px; white-space: nowrap; }

.wr-review-table tr.is-quarantined[b-y392pqpcp8] {
    background: rgba(214, 60, 60, 0.06);
}

.wr-review-thumb[b-y392pqpcp8] {
    display: block;
    width: 76px;
    height: 50px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #1e3a5f;
}

.wr-review-thumb__tag[b-y392pqpcp8] {
    display: inline-block;
    margin-top: 3px;
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-review-address[b-y392pqpcp8] {
    font-weight: 600;
    color: var(--wr-ink-900, #0f172a);
    text-decoration: none;
    display: block;
}

.wr-review-address:hover[b-y392pqpcp8] {
    text-decoration: underline;
}

.wr-review-sub[b-y392pqpcp8] {
    display: block;
    font-size: 0.76rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-review-muted[b-y392pqpcp8] {
    font-size: 0.78rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-review-danger[b-y392pqpcp8] {
    color: var(--wr3-danger, #dc2626);
    font-size: 0.78rem;
}

.wr-review-score[b-y392pqpcp8] {
    font-size: 0.95rem;
    font-weight: 700;
    min-width: 38px;
    justify-content: center;
}

.wr-review-why[b-y392pqpcp8] {
    margin: 0;
    padding-left: 16px;
    font-size: 0.78rem;
    color: var(--wr-ink-600, #475569);
    line-height: 1.5;
}

.wr-review-sort[b-y392pqpcp8] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.wr-review-sort.is-active[b-y392pqpcp8] {
    color: var(--wr3-blue, #2563eb);
    font-weight: 700;
}

/* ---------- Row drawer ---------- */

.wr-review-drawer > td[b-y392pqpcp8] {
    background: rgba(148, 163, 184, 0.07);
}

.wr-review-drawer__inner[b-y392pqpcp8] {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    padding: 6px 2px;
}

.wr-review-drawer__inner > div:first-child[b-y392pqpcp8] {
    flex: 1;
    min-width: 240px;
}

.wr-review-drawer__inner h4[b-y392pqpcp8] {
    margin: 0 0 4px;
    font-size: 0.9rem;
}

.wr-review-drawer__actions[b-y392pqpcp8] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.wr-review-drawer__actions input[b-y392pqpcp8] {
    min-width: 220px;
}

/* ---------- Empty state & pager ---------- */

.wr-review-empty[b-y392pqpcp8] {
    text-align: center;
    padding: 40px 16px;
    color: var(--wr-ink-600, #475569);
}

.wr-review-empty i[b-y392pqpcp8] {
    font-size: 2rem;
    color: var(--wr-ink-400, #94a3b8);
    margin-bottom: 10px;
}

.wr-review-empty h3[b-y392pqpcp8] {
    margin: 0 0 6px;
    font-size: 1rem;
}

.wr-review-empty p[b-y392pqpcp8] {
    margin: 0 0 14px;
    font-size: 0.86rem;
}

.wr-review-pager[b-y392pqpcp8] {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    font-size: 0.85rem;
    color: var(--wr-ink-600, #475569);
}

@media (max-width: 900px) {
    .wr-review-filters__search[b-y392pqpcp8] {
        grid-column: span 1;
    }

    .wr-review-drawer__actions input[b-y392pqpcp8] {
        min-width: 100%;
    }
}

/* ==========================================================================================
   MLS normalization, contact eligibility and the processing pipeline.

   LAYOUT NOTE: the queue now carries eleven columns, several of which stack a badge above one or
   two lines of supporting text. The previous rules let those overflow their cells, which is what
   clipped the labels. Every stacking cell below sets its own width, allows wrapping, and clamps
   long prose to two lines with the full text available on hover -- so nothing is ever cut off
   without a way to read it.
   ========================================================================================== */

.wr-review-table[b-y392pqpcp8] {
    /* Widened from 1180px: eleven columns, and forcing them narrower is what caused the clipping. */
    min-width: 1560px;
}

.wr-review-table .col-mls[b-y392pqpcp8] { width: 168px; }
.wr-review-table .col-elig[b-y392pqpcp8] { width: 172px; }
.wr-review-table .col-next[b-y392pqpcp8] { width: 210px; }
.wr-review-table .col-analyzed[b-y392pqpcp8] { width: 132px; }
.wr-review-table .col-actions[b-y392pqpcp8] { width: 190px; white-space: normal; }

/* Badges wrap instead of being clipped, and never shrink below their text. */
.wr-review-table .wr-badge[b-y392pqpcp8] {
    display: inline-flex;
    white-space: normal;
    text-align: left;
    line-height: 1.3;
    margin-bottom: 3px;
    max-width: 100%;
}

/* Long prose (eligibility reasons, next actions, errors) is clamped to two lines with the full
   text in the title attribute, rather than either overflowing or being hard-truncated. */
.wr-review-clamp[b-y392pqpcp8] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wr-review-verified[b-y392pqpcp8],
.wr-review-unverified[b-y392pqpcp8],
.wr-review-stale[b-y392pqpcp8] {
    display: block;
    font-size: 0.7rem;
    margin-top: 2px;
}

.wr-review-verified[b-y392pqpcp8] { color: var(--wr3-success, #16a34a); }
.wr-review-unverified[b-y392pqpcp8] { color: var(--wr-ink-400, #94a3b8); }
.wr-review-stale[b-y392pqpcp8] { color: var(--wr3-warning-ink, #92400e); font-weight: 600; }

.wr-review-primary-action[b-y392pqpcp8] {
    display: block;
    width: 100%;
    margin-bottom: 4px;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
}

/* ---------- Saved views ---------- */

.wr-review-views[b-y392pqpcp8] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wr-review-views__label[b-y392pqpcp8] {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-review-views__chips[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wr-review-chip[b-y392pqpcp8] {
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: transparent;
    font-size: 0.8rem;
    cursor: pointer;
    color: var(--wr-ink-600, #475569);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.wr-review-chip:hover[b-y392pqpcp8] {
    border-color: var(--wr3-blue, #2563eb);
    color: var(--wr3-blue, #2563eb);
}

.wr-review-chip.is-active[b-y392pqpcp8] {
    background: var(--wr3-blue, #2563eb);
    border-color: var(--wr3-blue, #2563eb);
    color: #fff;
}

.wr-review-views__desc[b-y392pqpcp8] {
    margin: 0;
    font-size: 0.82rem;
    color: var(--wr-ink-600, #475569);
}

/* ---------- Backfill notice ---------- */

.wr-review-backfill[b-y392pqpcp8] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
    border-color: var(--wr3-warning, #f59e0b);
    background: rgba(245, 158, 11, 0.07);
}

.wr-review-backfill > div[b-y392pqpcp8] { flex: 1; min-width: 280px; }

.wr-review-backfill i[b-y392pqpcp8] { color: var(--wr3-warning-ink, #92400e); margin-right: 6px; }

.wr-review-backfill p[b-y392pqpcp8] {
    margin: 6px 0 0;
    font-size: 0.84rem;
    color: var(--wr-ink-600, #475569);
    max-width: 90ch;
}

/* ---------- Blocked-outreach warning ---------- */

.wr-review-blocked[b-y392pqpcp8] {
    flex-basis: 100%;
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--wr3-danger, #dc2626);
    background: rgba(220, 38, 38, 0.06);
    font-size: 0.83rem;
    color: var(--wr-ink-700, #334155);
}

.wr-review-blocked i[b-y392pqpcp8] {
    color: var(--wr3-danger, #dc2626);
    margin-right: 6px;
}

/* ---------- Scoring page: the eligibility gate callout ---------- */

.wr-scoring-explainer--gate[b-y392pqpcp8] {
    background: rgba(220, 38, 38, 0.05);
    border-color: rgba(220, 38, 38, 0.2);
}

/* ---------- SMS button in the queue ---------- */

.wr-review-sms[b-y392pqpcp8] {
    display: block;
    width: 100%;
    margin-top: 4px;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
    font-size: 0.76rem;
}

/* A blocked button stays visibly a button and keeps its tooltip, rather than vanishing --
   an administrator needs to see that SMS exists and why it is unavailable. */
.wr-review-sms.is-blocked[b-y392pqpcp8] {
    opacity: 0.65;
    cursor: not-allowed;
    border-color: rgba(220, 38, 38, 0.35);
    color: var(--wr3-danger, #dc2626);
}

.wr-review-sms.is-enabled[b-y392pqpcp8] {
    border-color: var(--wr3-success, #16a34a);
    color: var(--wr3-success, #16a34a);
}

/* ==========================================================================================
   THE UPGRADED QUEUE.

   Two rules govern everything below:

   1. NO HORIZONTAL SCROLLING on a normal desktop. The old table had thirteen columns and
      pushed the Actions cell -- the entire point of the page -- off the right-hand edge.
      Seven columns fit; below 1100px the same markup reflows to stacked cards using the
      data-label attributes, so there is no second mobile template to keep in step.

   2. Colour means something. Green/amber/red are reserved for the recommendation, the
      compliance state and a bad score. Everything else is greyscale and typography.
   ========================================================================================== */

/* ---- Quick filter chips ---- */

.wr-review-quick[b-y392pqpcp8] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    padding: .9rem 1.1rem;
}

.wr-review-quick__chips[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    flex: 1 1 auto;
}

.wr-review-chip[b-y392pqpcp8] {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    padding: .35rem .75rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background .12s ease, border-color .12s ease, color .12s ease;
}

.wr-review-chip:hover:not(:disabled)[b-y392pqpcp8] {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.wr-review-chip.is-active[b-y392pqpcp8] {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

/* The suppression chip is deliberately quieter: it is a compliance archive, not a work queue. */
.wr-review-chip.is-muted:not(.is-active)[b-y392pqpcp8] {
    color: #94a3b8;
}

.wr-review-chip:disabled[b-y392pqpcp8] {
    opacity: .5;
    cursor: default;
}

.wr-review-quick__sort[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .82rem;
    color: #64748b;
}

.wr-review-quick__sort select[b-y392pqpcp8] {
    min-width: 12rem;
}

/* ---- Load error + spinner ---- */

.wr-review-loaderror[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1.1rem;
    border-left: 4px solid #dc2626;
    background: #fef2f2;
    color: #991b1b;
    margin-bottom: .75rem;
}

.wr-review-spinner[b-y392pqpcp8] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #cbd5e1;
    border-top-color: #1d4ed8;
    border-radius: 50%;
    animation: wr-review-spin-b-y392pqpcp8 .7s linear infinite;
    margin-right: .4rem;
    vertical-align: -1px;
}

@keyframes wr-review-spin-b-y392pqpcp8 { to { transform: rotate(360deg); } }

/* The table dims while loading rather than disappearing: a table that vanishes and returns
   makes the page jump, and the previous rows are still the right thing to look at. */
.wr-review-tablewrap.is-loading[b-y392pqpcp8] {
    opacity: .55;
    pointer-events: none;
    transition: opacity .12s ease;
}

/* ---- Table ---- */

.wr-review-table[b-y392pqpcp8] {
    width: 100%;
    table-layout: fixed;
}

.wr-review-table th[b-y392pqpcp8],
.wr-review-table td[b-y392pqpcp8] {
    vertical-align: top;
    padding: .7rem .6rem;
}

.wr-review-table .col-check[b-y392pqpcp8] { width: 36px; }
.wr-review-table .col-property[b-y392pqpcp8] { width: 23%; }
.wr-review-table .col-owner[b-y392pqpcp8] { width: 14%; }
.wr-review-table .col-opportunity[b-y392pqpcp8] { width: 13%; }
.wr-review-table .col-reco[b-y392pqpcp8] { width: 22%; }
.wr-review-table .col-contact[b-y392pqpcp8] { width: 13%; }
.wr-review-table .col-actions[b-y392pqpcp8] { width: 15%; }

.wr-review-table tr.is-quarantined[b-y392pqpcp8] { background: #fef2f2; }

/* ---- Property cell ---- */

.wr-review-prop[b-y392pqpcp8] { display: flex; gap: .6rem; }

.wr-review-prop__img[b-y392pqpcp8] {
    position: relative;
    flex: 0 0 64px;
    width: 64px;
    height: 48px;
    border-radius: 6px;
    overflow: hidden;
    background: #f1f5f9;
}

.wr-review-prop__img img[b-y392pqpcp8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wr-review-thumb__tag[b-y392pqpcp8] {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    font-size: .55rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: center;
    background: rgba(15, 23, 42, .72);
    color: #fff;
    padding: 1px 0;
}

.wr-review-prop__text[b-y392pqpcp8] { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }

.wr-review-prop__addr[b-y392pqpcp8] {
    border: 0;
    background: none;
    padding: 0;
    text-align: left;
    font-weight: 650;
    font-size: .88rem;
    color: #1d4ed8;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wr-review-prop__addr:hover[b-y392pqpcp8] { text-decoration: underline; }

.wr-review-prop__facts[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .25rem;
    align-items: center;
}

.wr-review-fact[b-y392pqpcp8] {
    font-size: .74rem;
    font-variant-numeric: tabular-nums;
    color: #475569;
    background: #f1f5f9;
    padding: .1rem .35rem;
    border-radius: 4px;
}

.wr-review-sub[b-y392pqpcp8] {
    display: block;
    font-size: .74rem;
    color: #94a3b8;
    line-height: 1.35;
}

/* ---- Score triplet ---- */

.wr-review-scores[b-y392pqpcp8] { display: flex; gap: .5rem; }

.wr-review-score[b-y392pqpcp8] { text-align: center; flex: 1 1 0; }

.wr-review-score__num[b-y392pqpcp8] {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.wr-review-score__num.is-strong[b-y392pqpcp8] { color: #15803d; }
.wr-review-score__num.is-medium[b-y392pqpcp8] { color: #b45309; }
.wr-review-score__num.is-weak[b-y392pqpcp8] { color: #64748b; }
.wr-review-score__num.is-none[b-y392pqpcp8] { color: #cbd5e1; }

.wr-review-score__lbl[b-y392pqpcp8] {
    display: block;
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
}

/* ---- Recommendation cell ---- */

.wr-review-reasons[b-y392pqpcp8] {
    margin-top: .25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wr-review-reco__meta[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .35rem;
}

.wr-badge-sm[b-y392pqpcp8] { font-size: .64rem; padding: .08rem .35rem; }

/* ---- Actions + menu ---- */

.wr-review-actions[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    align-items: center;
}

.wr-review-menu[b-y392pqpcp8] { position: relative; }

.wr-review-menu__toggle[b-y392pqpcp8] {
    font-size: 1.1rem;
    line-height: 1;
    padding: .15rem .4rem;
}

.wr-review-menu__panel[b-y392pqpcp8] {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 40;
    min-width: 15rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
    padding: .3rem;
    display: flex;
    flex-direction: column;
}

.wr-review-menu__panel a[b-y392pqpcp8],
.wr-review-menu__panel button[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .6rem;
    border: 0;
    background: none;
    text-align: left;
    font-size: .82rem;
    color: #334155;
    text-decoration: none;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
}

.wr-review-menu__panel a:hover[b-y392pqpcp8],
.wr-review-menu__panel button:hover:not(:disabled)[b-y392pqpcp8] { background: #f1f5f9; }
.wr-review-menu__panel button.is-danger[b-y392pqpcp8] { color: #b91c1c; }
.wr-review-menu__panel button:disabled[b-y392pqpcp8] { opacity: .5; cursor: default; }

.wr-review-warn[b-y392pqpcp8] { color: #b45309; font-weight: 600; }

/* ---- Pager ---- */

.wr-review-pager[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: .85rem 1.1rem;
    border-top: 1px solid #f1f5f9;
}

.wr-review-pager__left[b-y392pqpcp8],
.wr-review-pager__right[b-y392pqpcp8] { flex: 1 1 auto; font-size: .8rem; color: #64748b; }
.wr-review-pager__right[b-y392pqpcp8] { text-align: right; }

.wr-review-pager__mid[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex: 0 0 auto;
}

.wr-review-pagesize[b-y392pqpcp8] { display: inline-block; width: auto; margin: 0 .3rem; }

.wr-review-pager__count[b-y392pqpcp8] {
    min-width: 13rem;
    text-align: center;
    font-size: .82rem;
    color: #475569;
    font-variant-numeric: tabular-nums;
}

.wr-review-pager__page[b-y392pqpcp8] { display: block; font-size: .72rem; color: #94a3b8; }

/* ---- Drawer + modal ---- */

.wr-drawer-backdrop[b-y392pqpcp8] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .42);
    z-index: 900;
}

.wr-drawer[b-y392pqpcp8] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(560px, 100vw);
    background: #fff;
    z-index: 901;
    display: flex;
    flex-direction: column;
    box-shadow: -16px 0 40px rgba(15, 23, 42, .18);
}

.wr-drawer__head[b-y392pqpcp8],
.wr-drawer__foot[b-y392pqpcp8],
.wr-modal__head[b-y392pqpcp8],
.wr-modal__foot[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    flex: 0 0 auto;
}

.wr-drawer__foot[b-y392pqpcp8],
.wr-modal__foot[b-y392pqpcp8] {
    border-bottom: 0;
    border-top: 1px solid #e2e8f0;
    flex-wrap: wrap;
}

.wr-drawer__head h2[b-y392pqpcp8],
.wr-modal__head h2[b-y392pqpcp8] { margin: 0; font-size: 1rem; flex: 1 1 auto; }
.wr-drawer__head > div[b-y392pqpcp8] { flex: 1 1 auto; min-width: 0; }

.wr-drawer__body[b-y392pqpcp8],
.wr-modal__body[b-y392pqpcp8] { flex: 1 1 auto; overflow-y: auto; padding: 1.1rem 1.25rem; }

.wr-drawer__section[b-y392pqpcp8] { margin-bottom: 1.5rem; }
.wr-drawer__section h3[b-y392pqpcp8] { margin: 0 0 .6rem; font-size: .9rem; font-weight: 700; color: #0f172a; }
.wr-drawer__section h4[b-y392pqpcp8] { margin: .9rem 0 .35rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }

.wr-drawer__gallery[b-y392pqpcp8] { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin-bottom: 1.25rem; }
.wr-drawer__gallery img[b-y392pqpcp8] { width: 100%; height: 96px; object-fit: cover; border-radius: 8px; }

.wr-drawer__noimg[b-y392pqpcp8] { grid-column: 1 / -1; position: relative; text-align: center; }
.wr-drawer__noimg img[b-y392pqpcp8] { width: 100%; max-height: 150px; object-fit: contain; background: #f8fafc; border-radius: 8px; }

.wr-drawer__reco[b-y392pqpcp8] { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .6rem; }
.wr-drawer__headline[b-y392pqpcp8] { font-size: .88rem; font-weight: 600; color: #0f172a; margin: 0 0 .5rem; }

.wr-drawer__scores[b-y392pqpcp8] { display: flex; gap: 1rem; margin-bottom: .6rem; }
.wr-drawer__scores > div[b-y392pqpcp8] { flex: 1 1 0; text-align: center; background: #f8fafc; border-radius: 8px; padding: .6rem .3rem; }
.wr-drawer__scores span[b-y392pqpcp8] { display: block; font-size: 1.4rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.wr-drawer__scores span.is-strong[b-y392pqpcp8] { color: #15803d; }
.wr-drawer__scores span.is-medium[b-y392pqpcp8] { color: #b45309; }
.wr-drawer__scores span.is-weak[b-y392pqpcp8] { color: #64748b; }
.wr-drawer__scores span.is-none[b-y392pqpcp8] { color: #cbd5e1; }
.wr-drawer__scores label[b-y392pqpcp8] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: #94a3b8; }

.wr-drawer__breakdown[b-y392pqpcp8],
.wr-drawer__missing[b-y392pqpcp8],
.wr-drawer__timeline[b-y392pqpcp8] { list-style: none; margin: 0; padding: 0; }

.wr-drawer__breakdown li[b-y392pqpcp8] { display: flex; gap: .6rem; padding: .35rem 0; border-bottom: 1px solid #f8fafc; }
.wr-drawer__pts[b-y392pqpcp8] { flex: 0 0 2.6rem; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; font-size: .82rem; }
.wr-drawer__pts.is-plus[b-y392pqpcp8] { color: #15803d; }
.wr-drawer__pts.is-minus[b-y392pqpcp8] { color: #b91c1c; }
.wr-drawer__breakdown strong[b-y392pqpcp8] { display: block; font-size: .82rem; }

.wr-drawer__missing li[b-y392pqpcp8] { font-size: .8rem; color: #78350f; background: #fffbeb; border-radius: 6px; padding: .35rem .5rem; margin-bottom: .25rem; }
.wr-drawer__timeline li[b-y392pqpcp8] { font-size: .8rem; padding: .3rem 0; border-bottom: 1px solid #f8fafc; }

.wr-drawer__grid[b-y392pqpcp8] { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; margin: 0; }
.wr-drawer__grid dt[b-y392pqpcp8] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: #94a3b8; }
.wr-drawer__grid dd[b-y392pqpcp8] { margin: 0; font-size: .85rem; color: #0f172a; }

.wr-modal[b-y392pqpcp8] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(620px, calc(100vw - 2rem));
    max-height: calc(100vh - 3rem);
    background: #fff;
    border-radius: 14px;
    z-index: 901;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .24);
}

.wr-sms-modal__to[b-y392pqpcp8] { display: grid; grid-template-columns: auto 1fr; gap: .3rem .75rem; margin: 0 0 1rem; }
.wr-sms-modal__to > div[b-y392pqpcp8] { display: contents; }
.wr-sms-modal__to dt[b-y392pqpcp8] { font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; color: #94a3b8; }
.wr-sms-modal__to dd[b-y392pqpcp8] { margin: 0; font-size: .85rem; }

.wr-sms-modal__field[b-y392pqpcp8] { display: block; margin-bottom: .75rem; }
.wr-sms-modal__field > span[b-y392pqpcp8] { display: block; font-size: .75rem; font-weight: 600; color: #475569; margin-bottom: .2rem; }

.wr-sms-modal__confirm[b-y392pqpcp8] {
    flex: 1 1 100%;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: .7rem .85rem;
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.wr-sms-modal__confirm p[b-y392pqpcp8] { margin: 0; flex: 1 1 100%; font-size: .85rem; color: #78350f; }

.wr-review-blocked[b-y392pqpcp8] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    font-size: .8rem;
    color: #991b1b;
    background: #fef2f2;
    border-radius: 6px;
    padding: .5rem .65rem;
    margin: .5rem 0 0;
}

/* ==========================================================================================
   RESPONSIVE: table becomes cards.

   Below 1100px each row stacks and every cell shows its header via the data-label attribute.
   The alternative -- letting the table scroll sideways -- is what the brief is complaining
   about, and it hides the Actions column, which is the one people came for.
   ========================================================================================== */

@media (max-width: 1100px) {
    .wr-review-tablewrap[b-y392pqpcp8] { overflow-x: visible; }

    .wr-review-table[b-y392pqpcp8],
    .wr-review-table tbody[b-y392pqpcp8],
    .wr-review-table tr[b-y392pqpcp8],
    .wr-review-table td[b-y392pqpcp8] { display: block; width: auto; }

    .wr-review-table thead[b-y392pqpcp8] { display: none; }

    .wr-review-table tr[b-y392pqpcp8] {
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        margin-bottom: .75rem;
        padding: .6rem .75rem;
        background: #fff;
    }

    .wr-review-table td[b-y392pqpcp8] {
        padding: .35rem 0;
        border: 0;
        display: grid;
        grid-template-columns: 8.5rem 1fr;
        gap: .5rem;
        align-items: start;
    }

    .wr-review-table td[b-y392pqpcp8]::before {
        content: attr(data-label);
        font-size: .66rem;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: #94a3b8;
        padding-top: .15rem;
    }

    .wr-review-table td.col-check[b-y392pqpcp8] { grid-template-columns: 1fr; }
    .wr-review-table td.col-check[b-y392pqpcp8]::before { content: none; }

    .wr-review-table .col-property[b-y392pqpcp8],
    .wr-review-table .col-owner[b-y392pqpcp8],
    .wr-review-table .col-opportunity[b-y392pqpcp8],
    .wr-review-table .col-reco[b-y392pqpcp8],
    .wr-review-table .col-contact[b-y392pqpcp8],
    .wr-review-table .col-actions[b-y392pqpcp8] { width: auto; }

    .wr-review-pager[b-y392pqpcp8] { justify-content: center; }
    .wr-review-pager__left[b-y392pqpcp8],
    .wr-review-pager__right[b-y392pqpcp8] { text-align: center; flex: 1 1 100%; }
}

/* Owner name. Slightly wider column than the badge-only version it replaced, and the name gets
   the visual weight in the cell -- it is the first thing read when deciding whether to ring. */
.wr-review-owner[b-y392pqpcp8] {
    display: block;
    font-size: .83rem;
    font-weight: 650;
    color: #0f172a;
    margin-bottom: .25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wr-review-owner.is-withheld[b-y392pqpcp8] {
    font-weight: 500;
    font-style: italic;
    color: #94a3b8;
}

/* ==========================================================================================
   THE SIMPLIFIED QUEUE.

   One rule: the eye should land on the recommendation first, the score second, everything
   else after. Colour is spent almost entirely on green / amber / red for the three states,
   so those three words carry meaning across the whole screen -- chips, rows and buttons.
   ========================================================================================== */

/* ---- Chip tones. The filter bar teaches the row vocabulary. ---- */

.wr-review-chip.is-green.is-active[b-y392pqpcp8] { background: #15803d; border-color: #15803d; }
.wr-review-chip.is-amber.is-active[b-y392pqpcp8] { background: #b45309; border-color: #b45309; }
.wr-review-chip.is-red.is-active[b-y392pqpcp8] { background: #b91c1c; border-color: #b91c1c; }

.wr-review-chip.is-green:not(.is-active)[b-y392pqpcp8] { color: #15803d; border-color: #bbf7d0; }
.wr-review-chip.is-amber:not(.is-active)[b-y392pqpcp8] { color: #b45309; border-color: #fde68a; }
.wr-review-chip.is-red:not(.is-active)[b-y392pqpcp8] { color: #b91c1c; border-color: #fecaca; }

/* ---- The recommendation: the loudest thing in the row ---- */

.wr-reco[b-y392pqpcp8] {
    display: inline-block;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .01em;
    padding: .25rem .6rem;
    border-radius: 6px;
    margin-bottom: .3rem;
}

.wr-reco--contactnow[b-y392pqpcp8] { background: #dcfce7; color: #14532d; }
.wr-reco--verifyfirst[b-y392pqpcp8] { background: #fef3c7; color: #78350f; }
.wr-reco--donotcontact[b-y392pqpcp8] { background: #fee2e2; color: #7f1d1d; }
.wr-reco--unknown[b-y392pqpcp8] { background: #f1f5f9; color: #475569; }

/* The blocking reason, stated rather than hidden behind a disabled button. */
.wr-reco__block[b-y392pqpcp8] {
    display: block;
    font-size: .76rem;
    font-weight: 650;
    color: #b91c1c;
    margin-bottom: .2rem;
}

/* The one plain-English sentence. Deliberately given room to breathe -- it is the thing an
   administrator actually reads. */
.wr-reco__why[b-y392pqpcp8] {
    display: block;
    font-size: .78rem;
    line-height: 1.45;
    color: #475569;
}

/* ---- One score, one label ---- */

.wr-score[b-y392pqpcp8] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.wr-score__num[b-y392pqpcp8] {
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.wr-score__num small[b-y392pqpcp8] {
    font-size: .7rem;
    font-weight: 500;
    color: #94a3b8;
}

.wr-score__num.is-excellent[b-y392pqpcp8] { color: #15803d; }
.wr-score__num.is-good[b-y392pqpcp8] { color: #0369a1; }
.wr-score__num.is-possible[b-y392pqpcp8] { color: #b45309; }
.wr-score__num.is-low[b-y392pqpcp8] { color: #64748b; }
.wr-score__num.is-none[b-y392pqpcp8] { color: #cbd5e1; }

.wr-score__band[b-y392pqpcp8] {
    font-size: .72rem;
    color: #64748b;
    margin-top: .1rem;
}

.wr-score__why[b-y392pqpcp8] {
    margin-top: .35rem;
    border: 0;
    background: none;
    padding: 0;
    font-size: .72rem;
    color: #1d4ed8;
    cursor: pointer;
    text-decoration: underline;
}

.wr-score__detail[b-y392pqpcp8] {
    margin-top: .45rem;
    background: #f8fafc;
    border-radius: 8px;
    padding: .5rem .6rem;
}

.wr-score__detail dl[b-y392pqpcp8] { margin: 0; display: flex; flex-direction: column; gap: .2rem; }
.wr-score__detail dl > div[b-y392pqpcp8] { display: flex; justify-content: space-between; gap: .5rem; }

/* Dotted underline signals the tooltip, which carries the plain-language explanation of each
   component score. */
.wr-score__detail dt[b-y392pqpcp8] {
    font-size: .72rem;
    color: #64748b;
    border-bottom: 1px dotted #cbd5e1;
    cursor: help;
}

.wr-score__detail dd[b-y392pqpcp8] {
    margin: 0;
    font-size: .74rem;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    color: #0f172a;
    white-space: nowrap;
}

.wr-score__detail a[b-y392pqpcp8] { display: inline-block; margin-top: .4rem; font-size: .72rem; }

/* ---- Buttons ---- */

.wr-btn-warn[b-y392pqpcp8] {
    background: #b45309;
    border-color: #b45309;
    color: #fff;
}

.wr-btn-warn:hover:not(:disabled)[b-y392pqpcp8] { background: #92400e; border-color: #92400e; }

/* A blocked action is visibly inert rather than merely greyed, and the reason sits beside it in
   the previous column. */
.wr-btn.is-blocked[b-y392pqpcp8] {
    border-style: dashed;
    color: #b91c1c;
    border-color: #fecaca;
    background: #fff5f5;
}

/* ---- Verification checklist ---- */

.wr-verify-modal[b-y392pqpcp8] { width: min(760px, calc(100vw - 2rem)); }

.wr-verify-progress[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    background: #f8fafc;
    border-radius: 8px;
    padding: .6rem .75rem;
    margin-bottom: .9rem;
    font-size: .84rem;
}

.wr-verify-result[b-y392pqpcp8] {
    background: #dcfce7;
    color: #14532d;
    border-radius: 8px;
    padding: .6rem .75rem;
    margin-bottom: .9rem;
    font-size: .85rem;
    font-weight: 600;
}

.wr-verify-list[b-y392pqpcp8] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.wr-verify-item[b-y392pqpcp8] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: .7rem .85rem;
}

.wr-verify-item__head[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    margin-bottom: .25rem;
}

.wr-verify-item__label[b-y392pqpcp8] { font-size: .88rem; font-weight: 650; color: #0f172a; }

.wr-verify-req[b-y392pqpcp8] {
    display: inline-block;
    margin-left: .4rem;
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
    color: #b45309;
    background: #fef3c7;
    padding: .08rem .3rem;
    border-radius: 4px;
    cursor: help;
}

.wr-verify-item__hint[b-y392pqpcp8] { margin: 0 0 .35rem; font-size: .78rem; color: #64748b; line-height: 1.45; }

/* What the SYSTEM believes. Visually distinct from the administrator's answer, because the
   difference between "the provider says X" and "somebody confirmed X" is the whole point. */
.wr-verify-item__system[b-y392pqpcp8] {
    margin: 0 0 .5rem;
    font-size: .76rem;
    color: #475569;
    background: #f1f5f9;
    border-left: 3px solid #cbd5e1;
    border-radius: 0 6px 6px 0;
    padding: .35rem .5rem;
    line-height: 1.45;
}

.wr-verify-item__statuses[b-y392pqpcp8] { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .5rem; }

.wr-verify-opt[b-y392pqpcp8] {
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

.wr-verify-opt:hover[b-y392pqpcp8] { background: #f8fafc; }
.wr-verify-opt.is-active[b-y392pqpcp8] { background: #15803d; border-color: #15803d; color: #fff; }
.wr-verify-opt.is-fail.is-active[b-y392pqpcp8] { background: #b91c1c; border-color: #b91c1c; }

.wr-verify-item__fields[b-y392pqpcp8] { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.wr-verify-item__fields label[b-y392pqpcp8] { display: block; }
.wr-verify-item__fields span[b-y392pqpcp8] {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    margin-bottom: .15rem;
}

@media (max-width: 720px) {
    .wr-verify-item__fields[b-y392pqpcp8] { grid-template-columns: 1fr; }
}

/* ---- Column widths, retuned for the simplified row ---- */

.wr-review-table .col-property[b-y392pqpcp8] { width: 24%; }
.wr-review-table .col-owner[b-y392pqpcp8] { width: 13%; }
.wr-review-table .col-opportunity[b-y392pqpcp8] { width: 12%; }
.wr-review-table .col-reco[b-y392pqpcp8] { width: 24%; }
.wr-review-table .col-contact[b-y392pqpcp8] { width: 11%; }
.wr-review-table .col-actions[b-y392pqpcp8] { width: 14%; }

/* The estimate label. Equity is our guess, and the row says so. */
.wr-review-est[b-y392pqpcp8] {
    font-size: .66rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* ---- Automated verification ---- */

.wr-verify-run[b-y392pqpcp8] {
    border: 1px solid #dbeafe;
    background: #f8fbff;
    border-radius: 10px;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
}

.wr-verify-run__head[b-y392pqpcp8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.wr-verify-run__head strong[b-y392pqpcp8] { font-size: .95rem; color: #0f172a; }
.wr-verify-run__head p[b-y392pqpcp8] { margin: .15rem 0 0; max-width: 46ch; }

.wr-verify-steps[b-y392pqpcp8] {
    list-style: none;
    margin: .9rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.wr-verify-step[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .82rem;
    padding: .25rem .4rem;
    border-radius: 6px;
}

.wr-verify-step.is-pending[b-y392pqpcp8] { color: #94a3b8; }
.wr-verify-step.is-running[b-y392pqpcp8] { color: #1d4ed8; background: #eff6ff; }
.wr-verify-step.is-done[b-y392pqpcp8] { color: #334155; }
.wr-verify-step__icon[b-y392pqpcp8] { width: 1.1rem; text-align: center; }
.wr-verify-step__label[b-y392pqpcp8] { flex: 1 1 auto; }

.wr-verify-outcome[b-y392pqpcp8] {
    margin-top: .9rem;
    padding-top: .8rem;
    border-top: 1px solid #dbeafe;
}

.wr-verify-outcome__head[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    margin-bottom: .3rem;
}

/* What we could not check, and what buying it would cost. Deliberately prominent: an operator
   cannot act on "verification incomplete" but can act on "you need an ATTOM account". */
.wr-verify-missing[b-y392pqpcp8] {
    margin-top: .6rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: .55rem .7rem;
    font-size: .8rem;
    color: #78350f;
}

.wr-verify-missing ul[b-y392pqpcp8] { margin: .3rem 0 0; padding-left: 1.1rem; }
.wr-verify-missing li[b-y392pqpcp8] { margin-bottom: .3rem; }
.wr-verify-missing code[b-y392pqpcp8] {
    display: inline-block;
    margin-left: .3rem;
    background: rgba(120, 53, 15, .1);
    padding: .05rem .3rem;
    border-radius: 4px;
    font-size: .74rem;
}

.wr-verify-reporthead[b-y392pqpcp8] {
    margin: 1.2rem 0 .5rem;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}

.wr-verify-report[b-y392pqpcp8],
.wr-verify-rules[b-y392pqpcp8] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.wr-verify-report > li[b-y392pqpcp8] {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .6rem .75rem;
}

.wr-verify-report__head[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .25rem;
}

.wr-verify-report__summary[b-y392pqpcp8] { margin: 0 0 .3rem; font-size: .83rem; color: #334155; line-height: 1.45; }
.wr-verify-report__error[b-y392pqpcp8] { color: #b45309; }

.wr-verify-fields[b-y392pqpcp8] { width: 100%; border-collapse: collapse; margin-top: .4rem; font-size: .76rem; }
.wr-verify-fields th[b-y392pqpcp8] {
    text-align: left;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    padding: .2rem .35rem;
}
.wr-verify-fields td[b-y392pqpcp8] { padding: .2rem .35rem; border-top: 1px solid #f1f5f9; color: #334155; }
.wr-verify-fields tr.is-conflict td[b-y392pqpcp8] { background: #fef2f2; color: #991b1b; font-weight: 600; }

.wr-verify-rules > li[b-y392pqpcp8] {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    font-size: .82rem;
    padding: .35rem .5rem;
    border-radius: 6px;
}

.wr-verify-rule__outcome[b-y392pqpcp8] {
    flex: 0 0 5.5rem;
    font-size: .66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding-top: .15rem;
}

.wr-verify-rules > li.is-pass[b-y392pqpcp8] { background: #f0fdf4; }
.wr-verify-rules > li.is-pass .wr-verify-rule__outcome[b-y392pqpcp8] { color: #15803d; }
.wr-verify-rules > li.is-fail[b-y392pqpcp8] { background: #fef2f2; }
.wr-verify-rules > li.is-fail .wr-verify-rule__outcome[b-y392pqpcp8] { color: #b91c1c; }
.wr-verify-rules > li.is-inconclusive[b-y392pqpcp8] { background: #fffbeb; }
.wr-verify-rules > li.is-inconclusive .wr-verify-rule__outcome[b-y392pqpcp8] { color: #b45309; }

/* Manual controls: present, but visibly the exception. */
.wr-verify-manual[b-y392pqpcp8] {
    margin-top: 1.2rem;
    border-top: 1px solid #e2e8f0;
    padding-top: .8rem;
}

.wr-verify-manual > summary[b-y392pqpcp8] {
    cursor: pointer;
    font-size: .82rem;
    font-weight: 600;
    color: #64748b;
}

/* ---- Bulk verification ---- */

.wr-bulkverify[b-y392pqpcp8] { padding: 1rem 1.25rem; }

.wr-bulkverify__head[b-y392pqpcp8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.wr-bulkverify__head strong[b-y392pqpcp8] { font-size: .95rem; color: #0f172a; }
.wr-bulkverify__head p[b-y392pqpcp8] { margin: .15rem 0 0; max-width: 58ch; }
.wr-bulkverify__actions[b-y392pqpcp8] { display: flex; gap: .4rem; flex-wrap: wrap; }

/* The estimate. Amber and boxed, because it is a spend confirmation rather than information. */
.wr-bulkverify__estimate[b-y392pqpcp8] {
    margin-top: .9rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    padding: .8rem 1rem;
}

.wr-bulkverify__estimate h4[b-y392pqpcp8] {
    margin: 0 0 .5rem;
    font-size: .85rem;
    color: #78350f;
}

.wr-bulkverify__estimate dl[b-y392pqpcp8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem 1rem;
    margin: 0 0 .6rem;
}

.wr-bulkverify__estimate dl > div[b-y392pqpcp8] { display: flex; flex-direction: column; }
.wr-bulkverify__estimate dt[b-y392pqpcp8] {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #a16207;
}
.wr-bulkverify__estimate dd[b-y392pqpcp8] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #78350f;
}

@media (max-width: 800px) {
    .wr-bulkverify__estimate dl[b-y392pqpcp8] { grid-template-columns: repeat(2, 1fr); }
}

.wr-bulkverify__confirm[b-y392pqpcp8] { display: flex; gap: .5rem; margin-top: .6rem; }

.wr-bulkverify__progress[b-y392pqpcp8] { margin-top: .9rem; }

.wr-bulkverify__counts[b-y392pqpcp8] {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    margin-top: .5rem;
    font-size: .8rem;
    color: #475569;
}

.wr-bulkverify__counts strong[b-y392pqpcp8] { font-variant-numeric: tabular-nums; color: #0f172a; }
.wr-bulkverify__counts .is-blocked strong[b-y392pqpcp8] { color: #b91c1c; }
.wr-bulkverify__counts .is-inconclusive strong[b-y392pqpcp8] { color: #b45309; }
.wr-bulkverify__counts .is-failed strong[b-y392pqpcp8] { color: #b91c1c; }

.wr-bulkverify__progressactions[b-y392pqpcp8] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .6rem;
    flex-wrap: wrap;
}

.wr-bulkverify__errors[b-y392pqpcp8] { margin-top: .5rem; font-size: .8rem; }
.wr-bulkverify__errors summary[b-y392pqpcp8] { cursor: pointer; color: #b91c1c; }
.wr-bulkverify__errors ul[b-y392pqpcp8] { margin: .3rem 0 0; padding-left: 1.2rem; color: #7f1d1d; }

.wr-bulkverify__providers[b-y392pqpcp8] { margin-top: .9rem; border-top: 1px solid #f1f5f9; padding-top: .7rem; }
.wr-bulkverify__providers > summary[b-y392pqpcp8] { cursor: pointer; font-size: .82rem; font-weight: 600; color: #64748b; }
.wr-bulkverify__providers h4[b-y392pqpcp8] { margin: .9rem 0 .4rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }

.wr-bulkverify__providerlist[b-y392pqpcp8] { list-style: none; margin: .6rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.wr-bulkverify__providerlist li[b-y392pqpcp8] { display: flex; gap: .6rem; align-items: flex-start; font-size: .82rem; }
.wr-bulkverify__providerlist li > span:last-child[b-y392pqpcp8] { display: flex; flex-direction: column; }
.wr-bulkverify__providerlist code[b-y392pqpcp8] { font-size: .72rem; background: #f1f5f9; padding: .05rem .3rem; border-radius: 4px; }
.wr-bulkverify__providerlist li.is-off strong[b-y392pqpcp8] { color: #64748b; }

.wr-bulkverify__usage[b-y392pqpcp8] { width: 100%; border-collapse: collapse; font-size: .78rem; }
.wr-bulkverify__usage th[b-y392pqpcp8] {
    text-align: left;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    padding: .25rem .4rem;
}
.wr-bulkverify__usage td[b-y392pqpcp8] { padding: .25rem .4rem; border-top: 1px solid #f1f5f9; }
.wr-bulkverify__usage .num[b-y392pqpcp8] { text-align: right; font-variant-numeric: tabular-nums; }
/* /Components/Admin/AdminSellerOpportunityScoring.razor.rz.scp.css */
/* Admin scoring-rules editor. */

.wr-scoring .wr-card[b-sf426fma93] {
    margin-bottom: 16px;
}

.wr-scoring h2[b-sf426fma93] {
    margin: 0 0 10px;
    font-size: 1rem;
}

.wr-scoring-message p[b-sf426fma93] { margin: 0; }
.wr-scoring-message.is-error[b-sf426fma93] { border-color: var(--wr3-danger, #dc2626); }
.wr-scoring-message.is-success[b-sf426fma93] { border-color: var(--wr3-success, #16a34a); }

.wr-scoring-head__row[b-sf426fma93] {
    display: flex;
    gap: 22px;
    align-items: center;
    flex-wrap: wrap;
}

.wr-scoring-head__row > div span[b-sf426fma93] {
    display: block;
    font-size: 0.76rem;
    color: var(--wr-ink-400, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.wr-scoring-head__row > div strong[b-sf426fma93] {
    font-size: 1.3rem;
}

.wr-scoring-head__spacer[b-sf426fma93] {
    flex: 1;
}

.wr-scoring-warn[b-sf426fma93] {
    margin: 12px 0 0;
    font-size: 0.85rem;
    color: var(--wr3-warning-ink, #92400e);
}

.wr-scoring-warn i[b-sf426fma93] {
    margin-right: 6px;
}

.wr-scoring-explainer[b-sf426fma93] {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.18);
    font-size: 0.85rem;
    line-height: 1.8;
    color: var(--wr-ink-600, #475569);
}

.wr-scoring-explainer .wr-badge[b-sf426fma93] {
    margin-left: 4px;
}

.wr-scoring-note[b-sf426fma93] {
    margin: 0 0 14px;
    font-size: 0.84rem;
    color: var(--wr-ink-600, #475569);
    line-height: 1.6;
}

.wr-scoring-tablewrap[b-sf426fma93] {
    overflow-x: auto;
}

.wr-scoring-tablewrap table[b-sf426fma93] {
    min-width: 760px;
}

.wr-scoring .col-points[b-sf426fma93] { width: 100px; }
.wr-scoring .col-threshold[b-sf426fma93] { width: 140px; }
.wr-scoring .col-action[b-sf426fma93] { width: 140px; }
.wr-scoring .col-active[b-sf426fma93] { width: 70px; text-align: center; }

.wr-scoring-key[b-sf426fma93] {
    display: block;
    font-size: 0.7rem;
    font-family: var(--wr-font-mono, ui-monospace, monospace);
    color: var(--wr-ink-400, #94a3b8);
}

.wr-scoring-dash[b-sf426fma93] {
    color: var(--wr-ink-400, #94a3b8);
}

.wr-scoring-footer p[b-sf426fma93] {
    margin: 0;
    font-size: 0.83rem;
    color: var(--wr-ink-600, #475569);
}
/* /Components/Admin/AdminSellerOpportunitySmsAnalytics.razor.rz.scp.css */
/* Owner SMS reporting.

   Restrained on purpose. This screen exists to be read and acted on, so colour is reserved for the
   two things that should actually stop someone: a data-quality warning, and a rate that has gone
   bad. Everything else is greyscale and typography. */

.wr-smsrep[b-ipqjjdflws] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* ---- Controls ---- */

.wr-smsrep__controls[b-ipqjjdflws] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
}

.wr-smsrep__controlspacer[b-ipqjjdflws] {
    flex: 1 1 auto;
}

.wr-smsrep__ranges[b-ipqjjdflws] {
    display: inline-flex;
    background: #f1f5f9;
    border-radius: 10px;
    padding: 3px;
    gap: 2px;
    flex-wrap: wrap;
}

.wr-smsrep__range[b-ipqjjdflws] {
    border: 0;
    background: transparent;
    padding: .45rem .85rem;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    white-space: nowrap;
}

.wr-smsrep__range:hover:not(:disabled)[b-ipqjjdflws] {
    color: #0f172a;
}

.wr-smsrep__range.is-active[b-ipqjjdflws] {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
}

.wr-smsrep__range:disabled[b-ipqjjdflws] {
    opacity: .55;
    cursor: default;
}

/* ---- Sections ---- */

.wr-smsrep__section[b-ipqjjdflws] {
    padding: 1.25rem 1.5rem 1.5rem;
}

.wr-smsrep__sectionhead h2[b-ipqjjdflws] {
    margin: 0 0 .2rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}

.wr-smsrep__sectionhead p[b-ipqjjdflws] {
    margin: 0 0 1.1rem;
    font-size: .84rem;
    line-height: 1.5;
    color: #64748b;
    max-width: 72ch;
}

.wr-smsrep__none[b-ipqjjdflws],
.wr-smsrep__empty p[b-ipqjjdflws] {
    margin: 0;
    font-size: .9rem;
    color: #64748b;
}

.wr-smsrep__empty[b-ipqjjdflws] {
    padding: 2.5rem 1.5rem;
    text-align: center;
}

.wr-smsrep__empty h2[b-ipqjjdflws] {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
    color: #0f172a;
}

.wr-smsrep__empty p[b-ipqjjdflws] {
    max-width: 60ch;
    margin: 0 auto;
    line-height: 1.6;
}

/* ---- Data-quality warnings ---- */

.wr-smsrep__warn[b-ipqjjdflws] {
    padding: 1rem 1.25rem;
    border-left: 4px solid #dc2626;
    background: #fef2f2;
}

.wr-smsrep__warn h3[b-ipqjjdflws] {
    margin: 0 0 .4rem;
    font-size: .95rem;
    font-weight: 700;
    color: #991b1b;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.wr-smsrep__warn p[b-ipqjjdflws] {
    margin: 0 0 .4rem;
    font-size: .86rem;
    line-height: 1.55;
    color: #7f1d1d;
    max-width: 78ch;
}

.wr-smsrep__warn p:last-child[b-ipqjjdflws] {
    margin-bottom: 0;
}

.wr-smsrep__warn--soft[b-ipqjjdflws] {
    border-left-color: #d97706;
    background: #fffbeb;
}

.wr-smsrep__warn--soft p[b-ipqjjdflws] {
    color: #78350f;
}

.wr-smsrep__fix code[b-ipqjjdflws] {
    background: rgba(15, 23, 42, .07);
    padding: .12rem .4rem;
    border-radius: 4px;
    font-size: .82rem;
    word-break: break-all;
}

/* ---- Funnel ---- */

.wr-smsrep__funnel[b-ipqjjdflws] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.wr-smsrep__stagebar[b-ipqjjdflws] {
    height: 10px;
    background: #f1f5f9;
    border-radius: 999px;
    overflow: hidden;
}

.wr-smsrep__stagefill[b-ipqjjdflws] {
    height: 100%;
    background: linear-gradient(90deg, #1d4ed8, #3b82f6);
    border-radius: 999px;
    transition: width .3s ease;
}

.wr-smsrep__stagemeta[b-ipqjjdflws] {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    margin-top: .45rem;
}

.wr-smsrep__stagename[b-ipqjjdflws] {
    font-weight: 650;
    font-size: .9rem;
    color: #0f172a;
    flex: 1 1 auto;
}

.wr-smsrep__stagecount[b-ipqjjdflws] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 1.05rem;
    color: #0f172a;
}

.wr-smsrep__stagepct[b-ipqjjdflws] {
    font-variant-numeric: tabular-nums;
    font-size: .82rem;
    color: #64748b;
    min-width: 3.5rem;
    text-align: right;
}

.wr-smsrep__stagedesc[b-ipqjjdflws] {
    margin: .2rem 0 0;
    font-size: .8rem;
    color: #94a3b8;
    line-height: 1.45;
}

/* ---- Tables ---- */

.wr-smsrep__tablewrap[b-ipqjjdflws] {
    overflow-x: auto;
}

.wr-smsrep__table[b-ipqjjdflws] {
    width: 100%;
    border-collapse: collapse;
    font-size: .87rem;
}

.wr-smsrep__table th[b-ipqjjdflws],
.wr-smsrep__table td[b-ipqjjdflws] {
    padding: .6rem .75rem;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
    white-space: nowrap;
}

.wr-smsrep__table th[b-ipqjjdflws] {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    border-bottom: 1px solid #e2e8f0;
}

.wr-smsrep__table td.num[b-ipqjjdflws],
.wr-smsrep__table th.num[b-ipqjjdflws] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.wr-smsrep__table tbody tr:hover[b-ipqjjdflws] {
    background: #f8fafc;
}

/* A small sample is dimmed rather than hidden: "we have barely used this template" is itself
   information, but it must not read as a comparable result. */
.wr-smsrep__table tr.is-smallsample td[b-ipqjjdflws] {
    color: #94a3b8;
}

.wr-smsrep__table td.is-bad[b-ipqjjdflws] {
    color: #dc2626;
    font-weight: 700;
}

.wr-smsrep__tplname[b-ipqjjdflws],
.wr-smsrep__num[b-ipqjjdflws] {
    font-weight: 600;
    color: #0f172a;
}

.wr-smsrep__table tr.is-smallsample .wr-smsrep__tplname[b-ipqjjdflws],
.wr-smsrep__table tr.is-smallsample .wr-smsrep__num[b-ipqjjdflws] {
    color: #64748b;
}

.wr-smsrep__hint[b-ipqjjdflws] {
    display: inline-block;
    margin-left: .5rem;
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    background: #f1f5f9;
    padding: .1rem .4rem;
    border-radius: 4px;
    cursor: help;
}

.wr-smsrep__hint.is-bad[b-ipqjjdflws] {
    color: #991b1b;
    background: #fee2e2;
}

/* ---- Split (outcomes + failures) ---- */

.wr-smsrep__split[b-ipqjjdflws] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

@media (max-width: 900px) {
    .wr-smsrep__split[b-ipqjjdflws] {
        grid-template-columns: 1fr;
    }
}

.wr-smsrep__bars[b-ipqjjdflws] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.wr-smsrep__barhead[b-ipqjjdflws] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .3rem;
}

.wr-smsrep__barcount[b-ipqjjdflws] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: .88rem;
    color: #0f172a;
    white-space: nowrap;
}

.wr-smsrep__barcount span[b-ipqjjdflws] {
    font-weight: 500;
    color: #94a3b8;
}

.wr-smsrep__bartrack[b-ipqjjdflws] {
    height: 6px;
    background: #f1f5f9;
    border-radius: 999px;
    overflow: hidden;
}

.wr-smsrep__barfill[b-ipqjjdflws] {
    height: 100%;
    background: #94a3b8;
    border-radius: 999px;
}

.wr-smsrep__errors[b-ipqjjdflws] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.wr-smsrep__errhead[b-ipqjjdflws] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.wr-smsrep__errhead code[b-ipqjjdflws] {
    font-size: .82rem;
    font-weight: 700;
    background: #fee2e2;
    color: #991b1b;
    padding: .12rem .45rem;
    border-radius: 4px;
}

.wr-smsrep__errors p[b-ipqjjdflws] {
    margin: .25rem 0 0;
    font-size: .82rem;
    line-height: 1.5;
    color: #64748b;
}

/* ---- Daily chart ---- */

.wr-smsrep__chart[b-ipqjjdflws] {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 120px;
    padding-top: .5rem;
    overflow-x: auto;
}

.wr-smsrep__day[b-ipqjjdflws] {
    flex: 1 1 0;
    min-width: 4px;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.wr-smsrep__daycol[b-ipqjjdflws] {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    gap: 1px;
}

.wr-smsrep__daysent[b-ipqjjdflws],
.wr-smsrep__dayreply[b-ipqjjdflws] {
    flex: 1 1 0;
    border-radius: 2px 2px 0 0;
    min-height: 0;
}

.wr-smsrep__daysent[b-ipqjjdflws] {
    background: #bfdbfe;
}

.wr-smsrep__dayreply[b-ipqjjdflws] {
    background: #1d4ed8;
}

/* A day with an opt-out is marked regardless of its height -- at realistic volumes a single STOP
   is a one-pixel bar, and it is the event on this chart most worth noticing. */
.wr-smsrep__daystop[b-ipqjjdflws] {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #dc2626;
}

.wr-smsrep__legend[b-ipqjjdflws] {
    display: flex;
    gap: 1.1rem;
    margin-top: .75rem;
    font-size: .78rem;
    color: #64748b;
}

.wr-smsrep__legend span[b-ipqjjdflws] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.wr-smsrep__key[b-ipqjjdflws] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

.wr-smsrep__key--sent[b-ipqjjdflws] {
    background: #bfdbfe;
}

.wr-smsrep__key--reply[b-ipqjjdflws] {
    background: #1d4ed8;
}

.wr-smsrep__key--stop[b-ipqjjdflws] {
    background: #dc2626;
    border-radius: 50%;
}
/* /Components/Admin/AdminVerificationProviders.razor.rz.scp.css */
/* Verification data sources. Plain and informational -- this page is read, not operated. */

.wr-vprov[b-pfeqnhc265] { display: flex; flex-direction: column; gap: 1.25rem; }

.wr-vprov__note[b-pfeqnhc265] {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .85rem 1.1rem;
    border-left: 4px solid #1d4ed8;
    background: #eff6ff;
}

.wr-vprov__note strong[b-pfeqnhc265] { font-size: .9rem; color: #1e3a8a; }
.wr-vprov__note p[b-pfeqnhc265] { margin: .2rem 0 0; font-size: .84rem; color: #1e40af; line-height: 1.5; max-width: 74ch; }
.wr-vprov__note i[b-pfeqnhc265] { color: #1d4ed8; margin-top: .15rem; }

.wr-vprov__section[b-pfeqnhc265] { padding: 1.1rem 1.35rem 1.35rem; }
.wr-vprov__section h2[b-pfeqnhc265] { margin: 0 0 .8rem; font-size: 1rem; font-weight: 700; color: #0f172a; }
.wr-vprov__section h3[b-pfeqnhc265] { margin: 0 0 .3rem; font-size: .88rem; font-weight: 700; color: #0f172a; }

.wr-vprov__table[b-pfeqnhc265] { width: 100%; border-collapse: collapse; font-size: .85rem; }
.wr-vprov__table th[b-pfeqnhc265] {
    text-align: left;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    padding: .4rem .5rem;
    border-bottom: 1px solid #e2e8f0;
}
.wr-vprov__table td[b-pfeqnhc265] { padding: .5rem; border-bottom: 1px solid #f1f5f9; }
.wr-vprov__table .num[b-pfeqnhc265] { text-align: right; font-variant-numeric: tabular-nums; }
.wr-vprov__table tfoot td[b-pfeqnhc265] { border-top: 2px solid #e2e8f0; border-bottom: 0; }
.wr-vprov__table code[b-pfeqnhc265] { font-size: .74rem; background: #f1f5f9; padding: .1rem .35rem; border-radius: 4px; }

/* An unconfigured source is dimmed rather than alarming -- it is a purchasing decision, not a fault. */
.wr-vprov__table tr.is-off td[b-pfeqnhc265] { color: #64748b; }

.wr-vprov__options[b-pfeqnhc265] { display: flex; flex-direction: column; gap: 1.4rem; }
.wr-vprov__options ul[b-pfeqnhc265] { margin: .4rem 0; padding-left: 1.2rem; font-size: .84rem; line-height: 1.6; }
.wr-vprov__options li[b-pfeqnhc265] { margin-bottom: .3rem; }
.wr-vprov__options code[b-pfeqnhc265] { font-size: .74rem; background: #f1f5f9; padding: .1rem .35rem; border-radius: 4px; }

.wr-vprov__warn[b-pfeqnhc265] {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    margin: .5rem 0 0;
    padding: .6rem .75rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    font-size: .82rem;
    color: #78350f;
    line-height: 1.5;
}
/* /Components/Agents/AgentProfile.razor.rz.scp.css */
/* Agent profile -- referral-partner evaluation page.

   Scoped to this component. Every selector below targets an element written directly in
   AgentProfile.razor's own markup, so Blazor's [b-xxxxx] isolation attribute always lands on it.
   (It would NOT reach markup rendered by a child component -- EmptyState, PropertyCard,
   AgentDistributionMap, FeaturedAgentCard -- and nothing here tries to style those.)

   Everything reuses the existing design tokens (--wr-*) and sits on top of the shared .wr-card /
   .wr-chip / .wr-kpi-card primitives in app-shell.css rather than restating them. */

/* ---------- Hero ---------- */
.wr-agent-hero-avatar[b-b8fntcmoe6] {
    width: 104px;
    height: 104px;
    border-radius: var(--wr-radius-lg, 14px);
    object-fit: cover;
    flex: none;
}

.wr-agent-hero-meta[b-b8fntcmoe6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.wr-agent-hero-sep[b-b8fntcmoe6] {
    color: var(--wr-ink-400);
    opacity: 0.6;
}

/* ---------- Trust strip: the referral-decision facts, above the fold ---------- */
.wr-agent-trustbar[b-b8fntcmoe6] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.wr-agent-trust-item[b-b8fntcmoe6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--wr-border);
    background: var(--wr-surface);
    color: var(--wr-ink-600);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

    .wr-agent-trust-item i[b-b8fntcmoe6] {
        color: var(--wr-ink-400);
        font-size: 0.78rem;
    }

/* The referral fee is the single most decision-relevant number on the page, so it is the one
   trust item that carries the accent treatment rather than reading as one chip among many. */
.wr-agent-trust-fee[b-b8fntcmoe6] {
    background: var(--wr-accent-soft, #eaf1fc);
    border-color: transparent;
    color: var(--wr-accent-ink, #184f95);
}

    .wr-agent-trust-fee i[b-b8fntcmoe6],
    .wr-agent-trust-fee strong[b-b8fntcmoe6] {
        color: var(--wr-accent-ink, #184f95);
    }

    .wr-agent-trust-fee strong[b-b8fntcmoe6] {
        font-weight: 800;
    }

/* Trust items that jump to a tab are real buttons; this only strips the UA button chrome. */
.wr-agent-trust-btn[b-b8fntcmoe6] {
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s var(--wr-ease, ease), color 0.15s var(--wr-ease, ease);
}

    .wr-agent-trust-btn:hover[b-b8fntcmoe6] {
        border-color: var(--wr-accent);
        color: var(--wr-ink-900);
    }

/* ---------- Headline stat cards ---------- */
.wr-agent-stats[b-b8fntcmoe6] {
    margin-bottom: 24px;
}

.wr-agent-stat-card[b-b8fntcmoe6] {
    text-align: left;
    font-family: inherit;
    align-items: flex-start;
}

button.wr-agent-stat-card[b-b8fntcmoe6] {
    cursor: pointer;
}

    button.wr-agent-stat-card:hover[b-b8fntcmoe6] {
        box-shadow: var(--wr-shadow-md);
        border-color: var(--wr-accent);
        transform: translateY(-2px);
    }

.wr-agent-stat-arrow[b-b8fntcmoe6] {
    font-size: 0.62rem;
    margin-left: 4px;
    opacity: 0;
    transition: opacity 0.15s var(--wr-ease, ease), transform 0.15s var(--wr-ease, ease);
}

button.wr-agent-stat-card:hover .wr-agent-stat-arrow[b-b8fntcmoe6] {
    opacity: 0.7;
    transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
    button.wr-agent-stat-card[b-b8fntcmoe6],
    button.wr-agent-stat-card:hover[b-b8fntcmoe6],
    .wr-agent-stat-arrow[b-b8fntcmoe6] {
        transform: none;
        transition: none;
    }
}

/* ---------- Shared card headings ---------- */
.wr-agent-card-head[b-b8fntcmoe6] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

    .wr-agent-card-head h3[b-b8fntcmoe6] {
        margin: 0;
        font-size: 1rem;
    }

        .wr-agent-card-head h3 i[b-b8fntcmoe6] {
            color: var(--wr-accent);
            margin-right: 6px;
        }

.wr-agent-count-pill[b-b8fntcmoe6] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 800;
    color: var(--wr-accent-ink, #184f95);
    background: var(--wr-accent-soft, #eaf1fc);
    border-radius: 999px;
    padding: 3px 10px;
}

/* ---------- About ---------- */
.wr-agent-about[b-b8fntcmoe6] {
    margin-bottom: 20px;
}

.wr-agent-about-head[b-b8fntcmoe6] {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--wr-border);
}

    .wr-agent-about-head h3[b-b8fntcmoe6] {
        margin: 0 0 6px;
        font-size: 1.15rem;
        letter-spacing: -0.01em;
    }

.wr-agent-about-sub[b-b8fntcmoe6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--wr-ink-400);
}

/* The bio is CLAMPED, never truncated in C# -- the full text stays in the DOM (selectable, and
   readable by assistive tech and find-in-page) and "Read more" only lifts the clamp.
   white-space: pre-line keeps paragraph breaks an agent actually typed. */
.wr-agent-bio[b-b8fntcmoe6] {
    color: var(--wr-ink-600);
    line-height: 1.65;
    white-space: pre-line;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

    .wr-agent-bio.expanded[b-b8fntcmoe6] {
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }

.wr-agent-readmore[b-b8fntcmoe6] {
    margin-top: 10px;
    padding: 0;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--wr-accent);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .wr-agent-readmore:hover[b-b8fntcmoe6] {
        text-decoration: underline;
    }

    .wr-agent-readmore i[b-b8fntcmoe6] {
        font-size: 0.68rem;
    }

/* ---------- At a Glance ---------- */
.wr-agent-glance[b-b8fntcmoe6] {
    margin-bottom: 20px;
}

    .wr-agent-glance h3[b-b8fntcmoe6] {
        margin: 0 0 14px;
        font-size: 1rem;
    }

        .wr-agent-glance h3 i[b-b8fntcmoe6] {
            color: var(--wr-accent);
            margin-right: 6px;
        }

.wr-agent-glance-grid[b-b8fntcmoe6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wr-agent-glance-item[b-b8fntcmoe6] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: var(--wr-radius-md, 10px);
    background: var(--wr-surface-2);
}

    .wr-agent-glance-item > i[b-b8fntcmoe6] {
        margin-top: 2px;
        color: var(--wr-accent);
        font-size: 0.85rem;
        flex: none;
    }

    .wr-agent-glance-item > div[b-b8fntcmoe6] {
        min-width: 0;
    }

.wr-agent-glance-label[b-b8fntcmoe6] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400);
    margin-bottom: 2px;
}

.wr-agent-glance-value[b-b8fntcmoe6] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-ink-900);
    overflow-wrap: anywhere;
}

/* ---------- Service-area / specialty / certification chips ---------- */
.wr-agent-areas[b-b8fntcmoe6] {
    margin-bottom: 20px;
}

.wr-agent-city-chip[b-b8fntcmoe6] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    font-size: 0.76rem;
}

    .wr-agent-city-chip i[b-b8fntcmoe6] {
        font-size: 0.66rem;
        color: var(--wr-ink-400);
    }

    .wr-agent-city-chip.primary[b-b8fntcmoe6] {
        background: var(--wr-accent-soft, #eaf1fc);
        border-color: transparent;
        color: var(--wr-accent-ink, #184f95);
        font-weight: 700;
    }

        .wr-agent-city-chip.primary i[b-b8fntcmoe6] {
            color: var(--wr-accent-ink, #184f95);
        }

.wr-agent-city-primary[b-b8fntcmoe6] {
    font-size: 0.58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 999px;
    padding: 1px 6px;
}

.wr-agent-more-chip[b-b8fntcmoe6] {
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    color: var(--wr-accent);
    border-style: dashed;
    border-color: var(--wr-accent);
    background: transparent;
    padding: 5px 11px;
    font-size: 0.76rem;
}

    .wr-agent-more-chip:hover[b-b8fntcmoe6] {
        background: var(--wr-accent-soft, #eaf1fc);
    }

.wr-agent-spec-chip i[b-b8fntcmoe6],
.wr-agent-cert-chip i[b-b8fntcmoe6] {
    font-size: 0.64rem;
    color: var(--wr-accent);
    margin-right: 4px;
}

.wr-agent-cert-chip[b-b8fntcmoe6] {
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: help;
}

.wr-agent-inline-link[b-b8fntcmoe6] {
    margin-top: 14px;
    padding: 0;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--wr-accent);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .wr-agent-inline-link:hover[b-b8fntcmoe6] {
        text-decoration: underline;
    }

    .wr-agent-inline-link i[b-b8fntcmoe6] {
        font-size: 0.68rem;
    }

/* ---------- Coverage / grouped blocks ---------- */
.wr-agent-state-block + .wr-agent-state-block[b-b8fntcmoe6],
.wr-agent-market-terms[b-b8fntcmoe6] {
    margin-top: 18px;
}

.wr-agent-state-head[b-b8fntcmoe6] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-400);
}

    .wr-agent-state-head span[b-b8fntcmoe6] {
        font-size: 0.68rem;
        font-weight: 800;
        color: var(--wr-accent-ink, #184f95);
        background: var(--wr-accent-soft, #eaf1fc);
        border-radius: 999px;
        padding: 2px 8px;
        text-transform: none;
        letter-spacing: 0;
    }

/* ---------- Action rail ---------- */
.wr-agent-rail[b-b8fntcmoe6] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: 84px;
}

.wr-agent-cta-card[b-b8fntcmoe6] {
    border-color: var(--wr-accent);
    box-shadow: var(--wr-shadow-md);
}

.wr-agent-cta-fee[b-b8fntcmoe6] {
    text-align: center;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--wr-border);
}

.wr-agent-cta-fee-value[b-b8fntcmoe6] {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--wr-accent-ink, #184f95);
}

.wr-agent-cta-fee-label[b-b8fntcmoe6] {
    display: block;
    margin-top: 2px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--wr-ink-400);
}

.wr-agent-cta-primary[b-b8fntcmoe6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    text-align: center;
}

.wr-agent-cta-secondary[b-b8fntcmoe6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

    .wr-agent-cta-secondary > *[b-b8fntcmoe6] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 0.8rem;
        white-space: nowrap;
    }

.wr-agent-cta-connected[b-b8fntcmoe6] {
    pointer-events: none;
}

/* ---------- Owner-only profile strength ---------- */
.wr-agent-strength-track[b-b8fntcmoe6] {
    height: 8px;
    border-radius: 999px;
    background: var(--wr-surface-2);
    overflow: hidden;
}

.wr-agent-strength-fill[b-b8fntcmoe6] {
    height: 100%;
    border-radius: 999px;
    background: var(--wr-primary-gradient);
}

.wr-agent-strength-note[b-b8fntcmoe6] {
    margin: 10px 0 12px;
    font-size: 0.76rem;
    color: var(--wr-ink-400);
}

.wr-agent-strength-btn[b-b8fntcmoe6] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* ---------- Tablet / mobile ----------
   The shared .wra-grid-primary collapses to one column at 1200px, which would drop the entire
   action rail -- referral fee and every CTA -- below the tab panel, i.e. below a long bio and a
   20-city chip list. Reordering the rail above the tabs keeps "Send Referral" within a thumb's
   reach of the hero on every narrow viewport, which is the whole point of the CTA. */
@media (max-width: 1200px) {
    .wr-agent-rail[b-b8fntcmoe6] {
        position: static;
        order: -1;
        margin-bottom: 20px;
    }

    .wr-agent-cta-secondary[b-b8fntcmoe6] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .wr-agent-hero-avatar[b-b8fntcmoe6] {
        width: 76px;
        height: 76px;
    }

    .wr-agent-glance-grid[b-b8fntcmoe6] {
        grid-template-columns: 1fr;
    }

    .wr-agent-cta-secondary[b-b8fntcmoe6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wr-agent-cta-fee-value[b-b8fntcmoe6] {
        font-size: 1.7rem;
    }

    /* Long single-token values (brokerage names, license strings) must wrap rather than force
       the whole page to scroll sideways. */
    .wr-agent-trust-item[b-b8fntcmoe6],
    .wr-agent-glance-value[b-b8fntcmoe6] {
        overflow-wrap: anywhere;
    }
}
/* /Components/Agents/AiSellerOpportunities.razor.rz.scp.css */
.ai-opp-tabs[b-xg1f9outwn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 1rem 0;
    border-bottom: 1px solid var(--wr-border);
    padding-bottom: 0.5rem;
}

.ai-opp-tab[b-xg1f9outwn] {
    border: none;
    background: none;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-ink-600);
    cursor: pointer;
}

.ai-opp-tab.active[b-xg1f9outwn] {
    background: var(--wr-accent-soft, #eef2ff);
    color: var(--wr-accent, #4f46e5);
}

.ai-opp-filters[b-xg1f9outwn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.25rem;
}

.ai-opp-filters > *[b-xg1f9outwn] {
    min-width: 160px;
}

.ai-opp-grid[b-xg1f9outwn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.ai-opp-modal-backdrop[b-xg1f9outwn] {
    position: fixed;
    inset: 0;
    background: rgba(15, 18, 25, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.ai-opp-modal[b-xg1f9outwn] {
    background: var(--wr-surface, #fff);
    border-radius: 16px;
    padding: 1.5rem;
    max-width: 460px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    box-shadow: var(--wr-shadow-md);
}

.ai-opp-modal h3[b-xg1f9outwn] {
    margin: 0;
}

.ai-opp-modal-disclaimer[b-xg1f9outwn] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    background: color-mix(in srgb, var(--wr-warning, #c98500) 12%, transparent);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    font-size: 0.85rem;
    color: var(--wr-ink-700, #344054);
}

.ai-opp-modal-cost[b-xg1f9outwn] {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
}

.ai-opp-modal-ack[b-xg1f9outwn] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--wr-ink-600);
    cursor: pointer;
}

.ai-opp-modal-actions[b-xg1f9outwn] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}
/* /Components/Agents/AiSellerOpportunityCard.razor.rz.scp.css */
.wr-opp-card[b-1qxd1k74w3] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1.1rem;
    border: 1px solid var(--wr-border);
    border-radius: 14px;
    background: var(--wr-surface, #fff);
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.wr-opp-card:hover[b-1qxd1k74w3] {
    box-shadow: var(--wr-shadow-md);
    transform: translateY(-2px);
}

.wr-opp-card-head[b-1qxd1k74w3] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.wr-opp-card-avatar[b-1qxd1k74w3] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
}

.wr-opp-card-title[b-1qxd1k74w3] {
    flex: 1;
    min-width: 0;
}

.wr-opp-card-title h4[b-1qxd1k74w3] {
    margin: 0;
    font-size: 1rem;
}

.wr-opp-card-type[b-1qxd1k74w3] {
    font-size: 0.78rem;
    color: var(--wr-ink-500);
}

.wr-opp-card-meta[b-1qxd1k74w3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--wr-ink-600);
}

.wr-opp-card-meta span[b-1qxd1k74w3] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.ai-opp-score-badge[b-1qxd1k74w3] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.95rem;
}

.ai-opp-score-high[b-1qxd1k74w3] { background: color-mix(in srgb, var(--wr-success, #17a34a) 16%, transparent); color: var(--wr-success, #17a34a); }
.ai-opp-score-medium[b-1qxd1k74w3] { background: color-mix(in srgb, var(--wr-warning, #c98500) 16%, transparent); color: var(--wr-warning, #c98500); }
.ai-opp-score-low[b-1qxd1k74w3] { background: var(--wr-surface-2, #f2f3f6); color: var(--wr-ink-500); }

.ai-opp-confidence[b-1qxd1k74w3] {
    font-size: 0.76rem;
    color: var(--wr-ink-500);
}

.wr-opp-card-why[b-1qxd1k74w3] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
}

.wr-opp-card-why li[b-1qxd1k74w3] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--wr-ink-700, #344054);
}

.wr-opp-card-why li i[b-1qxd1k74w3] {
    color: var(--wr-success, #17a34a);
    margin-top: 0.2rem;
    font-size: 0.68rem;
}

.ai-opp-disclaimer[b-1qxd1k74w3] {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.72rem;
    color: var(--wr-ink-500);
    font-style: italic;
}

.wr-opp-card-foot[b-1qxd1k74w3] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.2rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--wr-border);
}

.wr-opp-card-submitted[b-1qxd1k74w3] {
    font-size: 0.74rem;
    color: var(--wr-ink-500);
}

.wr-opp-card-actions[b-1qxd1k74w3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* ---------- Property imagery ----------
   The image is either an authorized, licensed photograph or an app-shipped property-type
   illustration; the caption says which, so a drawing is never mistaken for the real property. */

.ai-opp-card-media[b-1qxd1k74w3] {
    position: relative;
    margin: -1.1rem -1.1rem 0.2rem;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
}

.ai-opp-card-media img[b-1qxd1k74w3] {
    display: block;
    width: 100%;
    aspect-ratio: 400 / 230;
    object-fit: cover;
    background: #1e3a5f;
}

.ai-opp-card-media figcaption[b-1qxd1k74w3] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.3rem 0.6rem;
    font-size: 0.66rem;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.88);
    background: linear-gradient(transparent, rgba(15, 23, 42, 0.72));
}

/* The score badge floats over the image rather than competing with the title for space. */
.ai-opp-card-media .ai-opp-score-badge[b-1qxd1k74w3] {
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.25);
    background-color: var(--wr-surface, #fff);
}

.ai-opp-score-category[b-1qxd1k74w3] {
    align-self: center;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wr-ink-500);
    white-space: nowrap;
}

/* ---------- Value / equity figures ----------
   A RANGE and a BAND, never an exact AVM figure and never an exact equity percentage -- see
   OpportunityFeedCard for why those two stay on the admin side. */

.ai-opp-card-figures[b-1qxd1k74w3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
    margin: 0;
    padding: 0.6rem 0.75rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
}

.ai-opp-card-figures dt[b-1qxd1k74w3] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wr-ink-500);
    margin-bottom: 0.15rem;
}

.ai-opp-card-figures dd[b-1qxd1k74w3] {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--wr-ink-900, #0f172a);
}

@media (max-width: 420px) {
    .ai-opp-card-figures[b-1qxd1k74w3] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Agents/AiSellerOpportunityDetail.razor.rz.scp.css */
.ai-opp-disclaimer-detail[b-4rm7ocsk1e] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    background: color-mix(in srgb, var(--wr-warning, #c98500) 12%, transparent);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    font-size: 0.85rem;
    color: var(--wr-ink-700, #344054);
    margin-bottom: 16px;
}

.wr-opp-card-meta[b-4rm7ocsk1e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.85rem;
    color: var(--wr-ink-600);
}

.wr-opp-card-meta span[b-4rm7ocsk1e] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.wr-opp-card-why[b-4rm7ocsk1e] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
}

.wr-opp-card-why li[b-4rm7ocsk1e] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--wr-ink-700, #344054);
}

.wr-opp-card-why li i[b-4rm7ocsk1e] {
    color: var(--wr-success, #17a34a);
    margin-top: 0.2rem;
    font-size: 0.7rem;
}

.ai-opp-inline-row[b-4rm7ocsk1e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}

.ai-opp-inline-row > *[b-4rm7ocsk1e] {
    min-width: 140px;
}

.ai-opp-script[b-4rm7ocsk1e] {
    white-space: pre-wrap;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-family: inherit;
    font-size: 0.9rem;
    color: var(--wr-ink-700, #344054);
    margin-top: 0.9rem;
}

.ai-opp-timeline[b-4rm7ocsk1e] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.ai-opp-timeline li[b-4rm7ocsk1e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: baseline;
    font-size: 0.85rem;
    border-bottom: 1px solid var(--wr-border);
    padding-bottom: 0.5rem;
}

.ai-opp-timeline-date[b-4rm7ocsk1e] {
    margin-left: auto;
    color: var(--wr-ink-500);
    font-size: 0.78rem;
}
/* /Components/Agents/CreateReferral.razor.rz.scp.css */
.wr-form-progress[b-29jk1xc1ve] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 820px;
    gap: 4px;
}

.wr-form-progress-step[b-29jk1xc1ve] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
    text-align: center;
}

.wr-form-progress-dot[b-29jk1xc1ve] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--wr-surface-2, #f1f3f5);
    color: var(--wr-ink-400, #94a3b8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    border: 2px solid var(--wr-border, #e2e8f0);
}

.wr-form-progress-step.active .wr-form-progress-dot[b-29jk1xc1ve] {
    background: var(--wr-accent, #2563eb);
    border-color: var(--wr-accent, #2563eb);
    color: #fff;
}

.wr-form-progress-step.done .wr-form-progress-dot[b-29jk1xc1ve] {
    background: var(--wr-success, #16a34a);
    border-color: var(--wr-success, #16a34a);
    color: #fff;
}

.wr-form-progress-label[b-29jk1xc1ve] {
    font-size: 0.72rem;
    color: var(--wr-ink-400, #94a3b8);
}

.wr-form-progress-step.active .wr-form-progress-label[b-29jk1xc1ve] {
    color: var(--wr-ink-900, #0f172a);
    font-weight: 700;
}

@media (max-width: 640px) {
    .wr-form-progress-label[b-29jk1xc1ve] {
        display: none;
    }
}
/* /Components/Agents/Messages.razor.rz.scp.css */
/* Free-conversation invitation shown above the inbox for a capped agent who still has their
   allowance. Deliberately warm and offer-shaped rather than lock-shaped -- it is an invitation to
   use the network, and the upgrade ask only appears later, when the allowance is actually spent.
   Built from the same v3 design-system tokens as the dashboard cards so it reads as native. */
.wr-free-conversation-card[b-0z3gta44sw] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: var(--wr-radius-lg, 14px);
    background: linear-gradient(135deg, #f5f7ff 0%, #fdfaff 100%);
    box-shadow: var(--wr-shadow-sm, 0 1px 2px rgba(16, 24, 40, 0.06));
}

.wr-free-conversation-icon[b-0z3gta44sw] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
    font-size: 1.05rem;
}

.wr-free-conversation-body[b-0z3gta44sw] {
    min-width: 0;
}

.wr-free-conversation-body h2[b-0z3gta44sw] {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--wr-text, #0f172a);
}

.wr-free-conversation-body > p[b-0z3gta44sw] {
    margin: 0 0 0.9rem;
    font-size: 0.9rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-free-conversation-fineprint[b-0z3gta44sw] {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
    color: var(--wr-text-muted, #64748b);
}

/* Inline send failure (rate limit, too long, lost access) -- never used for the plan allowance,
   which is a modal, because replying is not gated. */
.wr-messages-send-error[b-0z3gta44sw] {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    color: var(--wr-danger, #b42318);
}

@media (max-width: 640px) {
    .wr-free-conversation-card[b-0z3gta44sw] {
        flex-direction: column;
        padding: 1rem;
    }
}

/* Self-message notice. A dead-end state that used to produce silence. */
.wr-self-message-notice[b-0z3gta44sw] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
    padding: 12px 16px;
    border: 1px solid #fde68a;
    border-radius: 10px;
    background: #fffbeb;
    font-size: 0.88rem;
    color: #92400e;
}

.wr-self-message-notice i[b-0z3gta44sw] { flex: 0 0 auto; }
.wr-self-message-notice span[b-0z3gta44sw] { flex: 1 1 240px; }
/* /Components/Agents/SellerOpportunities.razor.rz.scp.css */
.wr-hero-ctas[b-jbnl8uphlf] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.wr-opp-toolbar[b-jbnl8uphlf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 1rem 0;
}

.wr-opp-search[b-jbnl8uphlf] {
    flex: 1 1 260px;
    min-width: 200px;
}

.wr-opp-toolbar select[b-jbnl8uphlf],
.wr-opp-toolbar input:not(.wr-opp-search)[b-jbnl8uphlf] {
    flex: 0 1 160px;
}

.wr-opp-grid[b-jbnl8uphlf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.wr-opp-pagination[b-jbnl8uphlf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
    font-size: 0.85rem;
    color: var(--wr-ink-600);
}

.wr-tab-loading[b-jbnl8uphlf] {
    padding: 2rem;
    text-align: center;
    color: var(--wr-ink-500);
}

/* Generic, non-specific social proof shown under the full-page "Professional Opportunities"
   block (PremiumFeatureModal) for a non-entitled agent -- never a real count/city, just a
   trust-building line, matching the same copy used on the dashboard's Opportunity Feed. */
.wr-opp-trust-line[b-jbnl8uphlf] {
    font-size: 0.85rem;
    color: var(--wr-ink-600);
    text-align: center;
    margin-top: 0.75rem;
}
/* /Components/Agents/SellerOpportunityCard.razor.rz.scp.css */
.wr-opp-card[b-73ykobaxis] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1.1rem;
    border: 1px solid var(--wr-border);
    border-radius: 14px;
    background: var(--wr-surface, #fff);
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.wr-opp-card:hover[b-73ykobaxis] {
    box-shadow: var(--wr-shadow-md);
    transform: translateY(-2px);
}

.wr-opp-card-head[b-73ykobaxis] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.wr-opp-card-avatar[b-73ykobaxis] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
}

.wr-opp-card-title[b-73ykobaxis] {
    flex: 1;
    min-width: 0;
}

.wr-opp-card-title h4[b-73ykobaxis] {
    margin: 0;
    font-size: 1rem;
}

.wr-opp-card-type[b-73ykobaxis] {
    font-size: 0.78rem;
    color: var(--wr-ink-500);
}

.wr-opp-card-temp[b-73ykobaxis] {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
}

.wr-opp-card-temp-hot[b-73ykobaxis] { background: color-mix(in srgb, #e0382d 14%, transparent); color: #b5271d; }
.wr-opp-card-temp-qualified[b-73ykobaxis] { background: color-mix(in srgb, var(--wr-success, #17a34a) 14%, transparent); color: var(--wr-success, #17a34a); }
.wr-opp-card-temp-warm[b-73ykobaxis] { background: color-mix(in srgb, var(--wr-warning, #c98500) 14%, transparent); color: var(--wr-warning, #c98500); }
.wr-opp-card-temp-nurture[b-73ykobaxis], .wr-opp-card-temp-new[b-73ykobaxis], .wr-opp-card-temp-cold[b-73ykobaxis] {
    background: var(--wr-surface-2, #f2f3f6);
    color: var(--wr-ink-500);
}

.wr-opp-card-meta[b-73ykobaxis] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--wr-ink-600);
}

.wr-opp-card-meta span[b-73ykobaxis] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.wr-opp-card-pill[b-73ykobaxis] {
    background: var(--wr-surface-2, #f2f3f6);
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
}

.wr-opp-card-value-row[b-73ykobaxis] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.wr-opp-card-value[b-73ykobaxis] {
    font-size: 1.2rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.wr-opp-card-timeframe[b-73ykobaxis] {
    font-size: 0.8rem;
    color: var(--wr-ink-600);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.wr-opp-card-match[b-73ykobaxis] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.wr-opp-card-match-ring[b-73ykobaxis] {
    --score: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: conic-gradient(var(--wr-accent) calc(var(--score) * 1%), var(--wr-border) 0);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.wr-opp-card-match-ring span[b-73ykobaxis] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--wr-surface, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 800;
}

.wr-opp-card-match-label[b-73ykobaxis] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--wr-ink-600);
}

.wr-opp-card-why[b-73ykobaxis] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
}

.wr-opp-card-why li[b-73ykobaxis] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--wr-ink-700, #344054);
}

.wr-opp-card-why li i[b-73ykobaxis] {
    color: var(--wr-success, #17a34a);
    margin-top: 0.2rem;
    font-size: 0.68rem;
}

.wr-opp-card-foot[b-73ykobaxis] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.2rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--wr-border);
}

.wr-opp-card-submitted[b-73ykobaxis] {
    font-size: 0.74rem;
    color: var(--wr-ink-500);
}

.wr-opp-card-actions[b-73ykobaxis] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* A normal, expected disabled-control state on a UI action -- distinct from dimming real
   informational content (price/score/location stay fully vivid on a locked card; only the button
   that genuinely can't be used yet looks disabled). */
.wr-opp-card-locked-btn:disabled[b-73ykobaxis] {
    color: var(--wr-ink-400);
    border-color: var(--wr-border);
    background: var(--wr-surface-2, #f2f3f6);
    cursor: not-allowed;
}
/* /Components/Agents/SellerOpportunityClaimDialog.razor.rz.scp.css */
/* .wr-upgrade-overlay/.wr-upgrade-modal are Blazor CSS-isolation-scoped to PremiumFeatureModal.razor
   specifically (confirmed: the compiled selector carries PremiumFeatureModal's own [b-xxxx] scope
   attribute) -- reusing the class names from a different component renders unstyled. Redefined
   here, matching that component's exact visual design, since this dialog renders its own overlay
   shell rather than embedding <PremiumFeatureModal> (which only supports its own locked/upgrade
   card, not a Confirm/Cancel claim flow for the allowed case). PremiumFeatureCardContent's *inner*
   classes (.wr-upgrade-icon etc.) are safe to reuse as-is -- those are scoped to
   PremiumFeatureCardContent.razor itself, which is the component actually rendering them here. */
.wr-upgrade-overlay[b-nft0np1gwt] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000;
}

.wr-upgrade-modal[b-nft0np1gwt] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg, 12px);
    box-shadow: 0 24px 60px rgba(16, 24, 40, 0.35);
    padding: var(--wr-space-5, 24px);
    max-width: 440px;
    width: 100%;
    text-align: center;
}

.wr-opp-claim-modal[b-nft0np1gwt] {
    width: min(460px, 92vw);
    text-align: left;
}

.wr-opp-claim-modal h3[b-nft0np1gwt] {
    margin: 0 0 0.6rem;
}

.wr-opp-claim-summary[b-nft0np1gwt] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
    font-size: 0.88rem;
    margin-bottom: 0.75rem;
}

.wr-opp-claim-note[b-nft0np1gwt] {
    font-size: 0.84rem;
    color: var(--wr-ink-600);
    margin: 0 0 1rem;
}

.wr-opp-claim-actions[b-nft0np1gwt] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}
/* /Components/DashboardV2/ActivityFeedPanel.razor.rz.scp.css */
.wr-activity-feed-panel-wrap[b-y2k66x8txf] {
    display: flex;
    flex-direction: column;
}

.wr-activity-feed-body[b-y2k66x8txf] {
    padding: 0.3rem 0 0;
    overflow-y: auto;
    max-height: 420px;
}

.wr-activity-row[b-y2k66x8txf] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.7rem 0.2rem;
    border-bottom: 1px solid var(--wr-border);
    opacity: 0;
    transform: translateY(6px);
    animation: wrActivityRowIn-b-y2k66x8txf 0.4s var(--wr-ease, ease) forwards;
}

.wr-activity-row:nth-child(1)[b-y2k66x8txf] { animation-delay: 0.03s; }
.wr-activity-row:nth-child(2)[b-y2k66x8txf] { animation-delay: 0.08s; }
.wr-activity-row:nth-child(3)[b-y2k66x8txf] { animation-delay: 0.13s; }
.wr-activity-row:nth-child(4)[b-y2k66x8txf] { animation-delay: 0.18s; }
.wr-activity-row:nth-child(n+5)[b-y2k66x8txf] { animation-delay: 0.23s; }

@keyframes wrActivityRowIn-b-y2k66x8txf {
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .wr-activity-row[b-y2k66x8txf] {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

.wr-activity-row:last-child[b-y2k66x8txf] {
    border-bottom: none;
}

.wr-activity-ico[b-y2k66x8txf] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--wr-surface-2);
    color: var(--wr-accent-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    flex: none;
    margin-top: 0.1rem;
}

.wr-activity-text[b-y2k66x8txf] {
    flex: 1;
    min-width: 0;
    font-size: 0.83rem;
    font-weight: 550;
    color: var(--wr-ink-900);
    line-height: 1.45;
}

.wr-activity-time[b-y2k66x8txf] {
    font-size: 0.68rem;
    font-family: var(--wr-font-mono);
    color: var(--wr-ink-400);
    white-space: nowrap;
    flex: none;
    margin-top: 0.15rem;
}
/* /Components/DashboardV2/AiSellerOpportunitiesCard.razor.rz.scp.css */
.ai-dash-head[b-huxvemx2yy] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.ai-dash-head h2[b-huxvemx2yy] {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--wr-ink-900);
}

.ai-dash-stats[b-huxvemx2yy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.ai-dash-stat[b-huxvemx2yy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.7rem 0.4rem;
    background: var(--wr-surface-2, #f8f9fb);
    text-decoration: none;
}

.ai-dash-stat-value[b-huxvemx2yy] {
    font-size: 1.3rem;
    font-weight: 800;
    font-family: var(--wr-font-mono);
    color: var(--wr-ink-900);
}

.ai-dash-stat-label[b-huxvemx2yy] {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--wr-ink-600);
    text-align: center;
}

.ai-dash-top-match[b-huxvemx2yy] {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    background: var(--wr-accent-soft, #eef2ff);
    border-radius: 12px;
    padding: 0.7rem 0.9rem;
    margin-bottom: 0.9rem;
}

.ai-dash-top-match-score[b-huxvemx2yy] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--wr-surface, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex: none;
}

.ai-dash-top-match p[b-huxvemx2yy] {
    margin: 2px 0 0;
    font-size: 0.78rem;
    color: var(--wr-ink-600);
}

.ai-dash-empty[b-huxvemx2yy] {
    color: var(--wr-ink-600);
    font-size: 0.85rem;
    margin: 0 0 0.9rem;
}
/* /Components/DashboardV2/DailyBriefHero.razor.rz.scp.css */
/* Compact command card -- polish pass tightened this further (padding/margins below all reduced)
   so the header reads as "useful information," not a decorative banner eating vertical space above
   the fold. Subtle dot-grid "network" texture (via .wr-brief-pattern) replaces the two large
   blurred gradient orbs the old hero used -- kept (it costs zero extra height, being an absolutely-
   positioned background layer) but everything that DOES cost height -- padding, line spacing -- was
   cut down. */
.wr-brief[b-v8hkj7tjdo] {
    position: relative;
    overflow: hidden;
    padding: 0.95rem 1.4rem;
    border-radius: var(--v2-radius-xl, 20px);
    color: #e8ecf5;
    background: linear-gradient(165deg, var(--wr-deck-950, #0a0f1e) 0%, var(--wr-deck-900, #101830) 65%, var(--wr-deck-850, #161f3d) 100%);
    box-shadow: var(--v2-glow, 0 24px 70px -20px rgba(74, 58, 167, 0.45));
}

/* Dot-grid network texture -- two overlaid radial-gradient dot patterns at different spacing,
   masked to fade out toward the left so it reads as a subtle background texture on the right side
   of the card, never competing with the text. */
.wr-brief-pattern[b-v8hkj7tjdo] {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle, rgba(139, 107, 255, 0.35) 1.5px, transparent 1.5px),
        radial-gradient(circle, rgba(62, 123, 250, 0.28) 1px, transparent 1px);
    background-size: 34px 34px, 22px 22px;
    background-position: 0 0, 11px 11px;
    -webkit-mask-image: linear-gradient(100deg, transparent 0%, transparent 35%, #000 75%);
    mask-image: linear-gradient(100deg, transparent 0%, transparent 35%, #000 75%);
    pointer-events: none;
}

.wr-brief-content[b-v8hkj7tjdo] {
    position: relative;
}

.wr-brief-eyebrow[b-v8hkj7tjdo] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wr-ai-2, #b39cff);
    margin-bottom: 0.4rem;
}

.wr-brief-eyebrow[b-v8hkj7tjdo]::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--wr-success);
    animation: wrActivityPulse 1.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .wr-brief-eyebrow[b-v8hkj7tjdo]::before {
        animation: none;
    }
}

.wr-brief h2[b-v8hkj7tjdo] {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 0.25rem;
}

.wr-brief-meta[b-v8hkj7tjdo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #b7c0e0;
    font-size: 0.8rem;
    font-weight: 600;
    margin: 0 0 0.45rem;
}

.wr-brief-meta-sep[b-v8hkj7tjdo] {
    opacity: 0.5;
}

.wr-brief-insight[b-v8hkj7tjdo] {
    color: #dde2f0;
    font-size: 0.9rem;
    max-width: 60ch;
    line-height: 1.4;
    margin: 0 0 0.35rem;
}

.wr-brief-value[b-v8hkj7tjdo] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #b7c0e0;
    font-size: 0.83rem;
    margin: 0 0 0.75rem;
}

.wr-brief-value i[b-v8hkj7tjdo] {
    color: var(--wr-money, #e7a83d);
}

.wr-brief-value span[b-v8hkj7tjdo] {
    color: var(--wr-money, #e7a83d);
    font-family: var(--wr-font-mono);
    font-weight: 700;
}

.wr-brief-actions[b-v8hkj7tjdo] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.wr-brief-btn-primary[b-v8hkj7tjdo] {
    background: linear-gradient(120deg, var(--wr-accent, #3e7bfa), var(--wr-ai, #8b6bff));
    color: #fff;
    border: none;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    padding: 0.55rem 1.2rem;
    box-shadow: 0 8px 22px -8px rgba(62, 123, 250, 0.6);
}

.wr-brief-btn-primary:hover[b-v8hkj7tjdo] {
    filter: brightness(1.08);
}

.wr-brief-btn-outline[b-v8hkj7tjdo] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(232, 236, 245, 0.08);
    color: #fff;
    border: 1px solid rgba(232, 236, 245, 0.14);
    font-family: inherit;
    font-size: 0.88rem;
    cursor: pointer;
    padding: 0.5rem 0.9rem;
}

.wr-brief-btn-outline:hover[b-v8hkj7tjdo] {
    background: rgba(232, 236, 245, 0.14);
}

@media (max-width: 720px) {
    .wr-brief-actions[b-v8hkj7tjdo] {
        width: 100%;
    }

    .wr-brief-actions .wr-btn[b-v8hkj7tjdo] {
        flex: 1;
        justify-content: center;
    }
}
/* /Components/DashboardV2/DashboardKpiStrip.razor.rz.scp.css */
.wr-kpi-strip[b-kpeauk60e6] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
}

.wr-kpi-tile[b-kpeauk60e6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: var(--wr-surface, #fff);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg, 16px);
    padding: 1.1rem 1.2rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.18s var(--wr-ease, ease), transform 0.18s var(--wr-ease, ease), border-color 0.18s var(--wr-ease, ease);
}

/* A thin top rule in the tile's own category color -- a real, glanceable status signal (which
   metric is which) rather than a fabricated up/down trend arrow this data doesn't support. */
.wr-kpi-tile[b-kpeauk60e6]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--wr-kpi-accent, var(--wr-accent));
}

.wr-kpi-tile:hover[b-kpeauk60e6] {
    box-shadow: var(--wr-shadow-md, var(--wr-shadow-sm));
    border-color: var(--wr-kpi-accent, var(--wr-accent));
    transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
    .wr-kpi-tile[b-kpeauk60e6] {
        transition: none;
    }

    .wr-kpi-tile:hover[b-kpeauk60e6] {
        transform: none;
    }
}

.wr-kpi-tile-blue[b-kpeauk60e6] { --wr-kpi-accent: var(--wr-cat-1, #2a78d6); }
.wr-kpi-tile-gold[b-kpeauk60e6] { --wr-kpi-accent: var(--wr-cat-3, #eda100); }
.wr-kpi-tile-green[b-kpeauk60e6] { --wr-kpi-accent: var(--wr-cat-2, #1baf7a); }
.wr-kpi-tile-violet[b-kpeauk60e6] { --wr-kpi-accent: var(--wr-cat-4, #4a3aa7); }

.wr-kpi-tile-icon[b-kpeauk60e6] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--wr-kpi-accent, var(--wr-accent)) 14%, white);
    color: var(--wr-kpi-accent, var(--wr-accent-ink));
}

.wr-kpi-tile-value[b-kpeauk60e6] {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    font-family: var(--wr-font-mono);
    color: var(--wr-ink-900);
    letter-spacing: -0.02em;
}

.wr-kpi-tile-label[b-kpeauk60e6] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--wr-ink-600);
}

/* Professional-only tile (Open Referrals/Seller Opportunities) for a Free agent -- muted accent
   and no real number, just the upgrade prompt in place of the value. */
.wr-kpi-tile-locked[b-kpeauk60e6] {
    --wr-kpi-accent: var(--wr-ink-400);
}

.wr-kpi-tile-locked .wr-kpi-tile-icon[b-kpeauk60e6] {
    background: var(--wr-surface-2, #f2f4f7);
    color: var(--wr-ink-400);
}

.wr-kpi-tile-value-locked[b-kpeauk60e6] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--wr-ink-600);
    font-family: inherit;
    letter-spacing: normal;
}

@media (max-width: 900px) {
    .wr-kpi-strip[b-kpeauk60e6] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 460px) {
    .wr-kpi-strip[b-kpeauk60e6] {
        grid-template-columns: 1fr;
    }
}
/* /Components/DashboardV2/FindAgentsByStateCard.razor.rz.scp.css */
.wr-usmap-panel .wr-panel-head[b-8l90f8dvh2] { align-items: flex-start; }

.wr-usmap-viewall[b-8l90f8dvh2] {
    font-size: 0.84rem;
    font-weight: 600;
    color: #2563eb;
    text-decoration: none;
    white-space: nowrap;
}

.wr-usmap-viewall:hover[b-8l90f8dvh2] { text-decoration: underline; }

/* ---------------- Network stats ---------------- */
.wr-usmap-stats[b-8l90f8dvh2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.wr-usmap-stat[b-8l90f8dvh2] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 10px;
    background: #f8fafc;
}

.wr-usmap-stat-value[b-8l90f8dvh2] { font-size: 1.15rem; font-weight: 700; color: var(--wr-text, #0f172a); }

/* An em-dash rather than "0%" when no fee data exists anywhere -- same honesty rule as the
   per-state "Not enough data". */
.wr-usmap-stat-na[b-8l90f8dvh2] { color: var(--wr-text-muted, #94a3b8); }

.wr-usmap-stat-label[b-8l90f8dvh2] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--wr-text-muted, #64748b);
}

/* ---------------- Searchable state list ----------------
   The accessible alternative to the SVG. Hidden on wide viewports by CSS rather than by a render
   condition, so it stays in the DOM for assistive tech at any size. */
.wr-usmap-list[b-8l90f8dvh2] { display: none; margin-top: 14px; }

.wr-usmap-list-search[b-8l90f8dvh2] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 10px;
    background: #fff;
}

.wr-usmap-list-search i[b-8l90f8dvh2] { color: var(--wr-text-muted, #94a3b8); font-size: 0.8rem; }

.wr-usmap-list-search input[b-8l90f8dvh2] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.9rem;
    background: transparent;
}

.wr-usmap-list ul[b-8l90f8dvh2] {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 320px;
    overflow-y: auto;
}

.wr-usmap-list li a[b-8l90f8dvh2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    text-decoration: none;
    color: var(--wr-text, #0f172a);
}

.wr-usmap-list li a:hover[b-8l90f8dvh2] { background: #f5f8ff; }
.wr-usmap-list li a:focus-visible[b-8l90f8dvh2] { outline: 2px solid #2563eb; outline-offset: -2px; }

.wr-usmap-list-name[b-8l90f8dvh2] { font-size: 0.9rem; font-weight: 500; }
.wr-usmap-list-count[b-8l90f8dvh2] { font-size: 0.82rem; color: var(--wr-text-muted, #64748b); white-space: nowrap; }
.wr-usmap-list-empty[b-8l90f8dvh2] { font-style: italic; color: var(--wr-text-muted, #94a3b8); }
.wr-usmap-list-none[b-8l90f8dvh2] { padding: 14px 12px; font-size: 0.86rem; color: var(--wr-text-muted, #64748b); }

@media (max-width: 720px) {
    .wr-usmap-list[b-8l90f8dvh2] { display: block; }
}

/* ---------------- Skeleton ---------------- */
.wr-usmap-skeleton-stats[b-8l90f8dvh2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.wr-usmap-skeleton-stats span[b-8l90f8dvh2],
.wr-usmap-skeleton-map[b-8l90f8dvh2] {
    display: block;
    border-radius: 10px;
    background: linear-gradient(90deg, #eef2f7 25%, #f7fafc 50%, #eef2f7 75%);
    background-size: 200% 100%;
    animation: wr-usmap-shimmer-b-8l90f8dvh2 1.2s infinite;
}

.wr-usmap-skeleton-stats span[b-8l90f8dvh2] { height: 58px; }
.wr-usmap-skeleton-map[b-8l90f8dvh2] { height: 300px; }

@keyframes wr-usmap-shimmer-b-8l90f8dvh2 {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .wr-usmap-skeleton-stats span[b-8l90f8dvh2],
    .wr-usmap-skeleton-map[b-8l90f8dvh2] { animation-duration: 3s; }
}

/* ---------------- Error ---------------- */
.wr-usmap-error[b-8l90f8dvh2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 36px 20px;
    text-align: center;
}

.wr-usmap-error i[b-8l90f8dvh2] { font-size: 1.6rem; color: var(--wr-text-muted, #94a3b8); }
.wr-usmap-error p[b-8l90f8dvh2] { margin: 0; font-size: 0.9rem; color: var(--wr-text-muted, #64748b); }
/* /Components/DashboardV2/ListingActivityCard.razor.rz.scp.css */
.wr-listing-activity[b-1gjf8ediyt] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.wr-listing-activity-head[b-1gjf8ediyt] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-bottom: 14px;
}

.wr-listing-activity-head h3[b-1gjf8ediyt] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--wr-text, #0f172a);
}

.wr-listing-activity-ico[b-1gjf8ediyt] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #eef4ff;
    color: #2563eb;
    font-size: 0.85rem;
}

.wr-listing-activity-link[b-1gjf8ediyt] {
    margin-left: auto;
    font-size: 0.82rem;
    font-weight: 600;
    color: #2563eb;
    text-decoration: none;
    white-space: nowrap;
}

.wr-listing-activity-link:hover[b-1gjf8ediyt] { text-decoration: underline; }

.wr-listing-activity-empty[b-1gjf8ediyt] {
    margin: 0 0 12px;
    font-size: 0.87rem;
    line-height: 1.5;
    color: var(--wr-text-muted, #64748b);
}

.wr-listing-activity-list[b-1gjf8ediyt] {
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.wr-listing-activity-list li[b-1gjf8ediyt] {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    font-size: 0.89rem;
    color: var(--wr-text, #334155);
}

.wr-listing-activity-list i[b-1gjf8ediyt] { color: #16a34a; margin-top: 3px; font-size: 0.78rem; }

/* The link is a block at the end of the card body here, not the header affordance. */
.wr-listing-activity-list + .wr-listing-activity-link[b-1gjf8ediyt] { margin-left: 0; }

.wr-listing-activity-skeleton[b-1gjf8ediyt] {
    width: 100%;
    height: 72px;
    border-radius: 8px;
    background: linear-gradient(90deg, #eef2f7 25%, #f7fafc 50%, #eef2f7 75%);
    background-size: 200% 100%;
    animation: wr-listing-activity-shimmer-b-1gjf8ediyt 1.2s infinite;
}

@keyframes wr-listing-activity-shimmer-b-1gjf8ediyt {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}
/* /Components/DashboardV2/MarketAdvisorCard.razor.rz.scp.css */
/* Same "AI-flavored card" treatment as ProfileAiTipCard.razor.css (tinted --wr-ai-soft
   background, --wr-ai icon, --wr-cat-4 header text) -- this app's established look for an
   AI-adjacent panel, not a new invented color. */
.wr-market-advisor-card[b-47aghotpcj] {
    box-shadow: var(--wr-shadow-sm);
    background: var(--wr-ai-soft, rgba(139, 107, 255, 0.08));
    border: 1px solid rgba(139, 107, 255, 0.25);
    border-radius: var(--wr-radius-lg);
    padding: 1rem 1.1rem 1.1rem;
}

.wr-market-advisor-head[b-47aghotpcj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--wr-cat-4, #4a3aa7);
    margin-bottom: 0.6rem;
}

.wr-market-advisor-head i[b-47aghotpcj] {
    color: var(--wr-ai, #8b6bff);
}

.wr-market-advisor-fee-row[b-47aghotpcj] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.wr-market-advisor-fee-value[b-47aghotpcj] {
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1;
}

.wr-market-advisor-tier-badge[b-47aghotpcj] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: var(--wr-surface);
    color: var(--wr-ink-600);
    border: 1px solid var(--wr-border);
}

.wr-market-advisor-tier-yourpreference[b-47aghotpcj] {
    color: var(--wr-accent-ink, #184f95);
    background: var(--wr-accent-soft, #eaf1fc);
    border-color: transparent;
}

.wr-market-advisor-tier-marketdata[b-47aghotpcj] {
    color: #0f7a4d;
    background: rgba(47, 212, 138, 0.14);
    border-color: transparent;
}

.wr-market-advisor-explanation[b-47aghotpcj] {
    font-size: 0.84rem;
    color: var(--wr-ink-900);
    line-height: 1.5;
    margin: 0.5rem 0 0.7rem;
}

.wr-market-advisor-chart[b-47aghotpcj] {
    margin-bottom: 0.7rem;
}

.wr-market-advisor-quick-prompts[b-47aghotpcj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
}

.wr-quick-prompt-chip[b-47aghotpcj] {
    font-family: inherit;
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--wr-cat-4, #4a3aa7);
    background: var(--wr-surface, #fff);
    border: 1px solid rgba(139, 107, 255, 0.3);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    cursor: pointer;
    transition: background 0.15s var(--wr-ease, ease), border-color 0.15s var(--wr-ease, ease);
}

.wr-quick-prompt-chip:hover[b-47aghotpcj] {
    background: var(--wr-ai-soft, rgba(139, 107, 255, 0.08));
    border-color: var(--wr-ai, #8b6bff);
}

.wr-market-advisor-actions[b-47aghotpcj] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}
/* /Components/DashboardV2/MembershipCard.razor.rz.scp.css */
.wr-membership-card[b-k086qo3y4o] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg);
    box-shadow: var(--wr-shadow-sm);
    padding: 1.1rem 1.15rem 1.2rem;
}

.wr-membership-head[b-k086qo3y4o] {
    margin-bottom: 0.7rem;
}

.wr-membership-plan[b-k086qo3y4o] {
    font-size: 1rem;
    font-weight: 800;
    color: var(--wr-ink-900);
}

.wr-membership-section-label[b-k086qo3y4o] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wr-ink-400);
    margin-bottom: 0.4rem;
}

.wr-membership-list[b-k086qo3y4o] {
    list-style: none;
    margin: 0 0 0.9rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.wr-membership-list li[b-k086qo3y4o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.84rem;
}

.wr-membership-list-active li[b-k086qo3y4o] {
    color: var(--wr-ink-900);
}

.wr-membership-list-active i[b-k086qo3y4o] {
    color: var(--wr-success);
    font-size: 0.78rem;
}

.wr-membership-list-locked li[b-k086qo3y4o] {
    color: var(--wr-ink-600);
}

.wr-membership-list-locked i[b-k086qo3y4o] {
    color: var(--wr-ink-400);
    font-size: 0.72rem;
}
/* /Components/DashboardV2/OpportunityFeed.razor.rz.scp.css */
/* .wr-dash-main is a flex column (see DashboardV2.razor.css) -- each of its children is a flex
   item with a default min-width:auto, so without this, the tab row's intrinsic content width
   (3 tab labels at once) could grow this whole card past the viewport at narrow widths and push
   the entire page into horizontal scroll, even though .wr-opp-feed-tabs itself already has its
   own overflow-x:auto (that only ever helps once ITS container stops growing to fit it). */
.wr-opp-feed[b-jr359kmqvv] {
    min-width: 0;
}

.wr-opp-feed-head[b-jr359kmqvv] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.7rem;
}

/* Generic, non-specific social proof shown under the "Professional Opportunities" full-block
   preview (see OpportunityFeed.razor) -- never a real count/city, just a trust-building line. */
.wr-opp-feed-trust-line[b-jr359kmqvv] {
    font-size: 0.82rem;
    color: var(--wr-ink-600);
    text-align: center;
    margin: 0.7rem 0 0;
}

.wr-opp-feed-head h2[b-jr359kmqvv] {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--wr-ink-900);
}

.wr-opp-feed-tabs[b-jr359kmqvv] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
    border-bottom: 1px solid var(--wr-border);
    overflow-x: auto;
}

.wr-opp-feed-tab[b-jr359kmqvv] {
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--wr-ink-600);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.5rem 0.7rem;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.wr-opp-feed-tab:hover[b-jr359kmqvv] {
    color: var(--wr-ink-900);
}

.wr-opp-feed-tab.active[b-jr359kmqvv] {
    color: var(--wr-accent-ink, #184f95);
    border-bottom-color: var(--wr-accent, #3e7bfa);
}

.wr-opp-feed-tab-count[b-jr359kmqvv] {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--wr-ink-400);
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
}

.wr-opp-feed-tab.active .wr-opp-feed-tab-count[b-jr359kmqvv] {
    color: var(--wr-accent-ink, #184f95);
    background: var(--wr-accent-soft, #eaf1fc);
}

.wr-opp-feed-list[b-jr359kmqvv] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.wr-opp-feed-row[b-jr359kmqvv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.6rem 0.8rem;
    background: var(--wr-surface, #fff);
    min-width: 0;
    transition: box-shadow 0.15s var(--wr-ease, ease);
}

.wr-opp-feed-row:hover[b-jr359kmqvv] {
    box-shadow: var(--wr-shadow-sm);
}

.wr-opp-feed-row-avatar[b-jr359kmqvv] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.wr-opp-feed-row-main[b-jr359kmqvv] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.wr-opp-feed-row-top[b-jr359kmqvv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

.wr-opp-feed-row-type[b-jr359kmqvv] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
    padding: 0.1rem 0.4rem;
    border-radius: 5px;
    flex: none;
}

.wr-opp-feed-row-type-seller[b-jr359kmqvv] {
    background: #fdf1da;
    color: #a56d00;
}

.wr-opp-feed-row-type-referral[b-jr359kmqvv] {
    background: var(--wr-accent-soft, #eaf1fc);
    color: var(--wr-accent-ink, #184f95);
}

.wr-opp-feed-row-loc[b-jr359kmqvv] {
    font-size: 0.86rem;
    color: var(--wr-ink-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wr-opp-feed-row-meta[b-jr359kmqvv] {
    font-size: 0.76rem;
    color: var(--wr-ink-600);
    white-space: nowrap;
}

.wr-opp-feed-row-badge[b-jr359kmqvv] {
    font-size: 0.66rem;
    font-weight: 700;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    margin-left: auto;
    flex: none;
}

.wr-opp-feed-row-why[b-jr359kmqvv] {
    font-size: 0.76rem;
    color: var(--wr-ink-600);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wr-opp-feed-row-why i[b-jr359kmqvv] {
    color: var(--wr-ai, #8b6bff);
    font-size: 0.68rem;
    flex: none;
}

.wr-opp-feed-row-score[b-jr359kmqvv] {
    --score: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(var(--wr-accent) calc(var(--score) * 1%), var(--wr-border) 0);
}

.wr-opp-feed-row-score[b-jr359kmqvv]::before {
    content: "";
    position: absolute;
    inset: 2.5px;
    border-radius: 50%;
    background: var(--wr-surface, #fff);
}

.wr-opp-feed-row-score span[b-jr359kmqvv] {
    position: relative;
    font-size: 0.62rem;
    font-weight: 800;
    color: var(--wr-accent-ink);
}

.wr-opp-feed-row-figures[b-jr359kmqvv] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: none;
    min-width: 70px;
}

.wr-opp-feed-row-money[b-jr359kmqvv] {
    font-size: 0.9rem;
    font-weight: 800;
    font-family: var(--wr-font-mono);
    color: #a56d00;
}

.wr-opp-feed-row-age[b-jr359kmqvv] {
    font-size: 0.68rem;
    color: var(--wr-ink-400);
}

.wr-opp-feed-row-action[b-jr359kmqvv] {
    flex: none;
}

.wr-spotlight-badge-hot[b-jr359kmqvv] { background: #fde5e0; color: #b8401d; }
.wr-spotlight-badge-green[b-jr359kmqvv] { background: #e2f6ea; color: #157a42; }
.wr-spotlight-badge-warm[b-jr359kmqvv] { background: #fdf1da; color: #a56d00; }
.wr-spotlight-badge-cool[b-jr359kmqvv] { background: var(--wr-accent-soft, #eaf1fc); color: var(--wr-accent-ink, #184f95); }

.wr-opp-feed-banner[b-jr359kmqvv] {
    margin-top: 0.9rem;
}

@media (max-width: 900px) {
    .wr-opp-feed-row[b-jr359kmqvv] {
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    .wr-opp-feed-row-main[b-jr359kmqvv] {
        order: 1;
        flex-basis: calc(100% - 44px);
    }

    .wr-opp-feed-row-score[b-jr359kmqvv] {
        order: 2;
    }

    .wr-opp-feed-row-figures[b-jr359kmqvv] {
        order: 3;
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
    }

    .wr-opp-feed-row-action[b-jr359kmqvv] {
        order: 4;
        margin-left: auto;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}
/* /Components/DashboardV2/ProfileAiTipCard.razor.rz.scp.css */
.wr-ai-tip-card[b-6hp9x5tsu2] {
    background: var(--wr-ai-soft, rgba(139, 107, 255, 0.08));
    border: 1px solid rgba(139, 107, 255, 0.25);
    border-radius: var(--wr-radius-lg);
    box-shadow: var(--wr-shadow-sm);
    padding: 1rem 1.1rem 1.1rem;
}

.wr-ai-tip-head[b-6hp9x5tsu2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--wr-cat-4, #4a3aa7);
    margin-bottom: 0.5rem;
}

.wr-ai-tip-head i[b-6hp9x5tsu2] {
    color: var(--wr-ai, #8b6bff);
}

.wr-ai-tip-text[b-6hp9x5tsu2] {
    font-size: 0.85rem;
    color: var(--wr-ink-900);
    line-height: 1.5;
    margin: 0 0 0.8rem;
}

.wr-ai-tip-actions[b-6hp9x5tsu2] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
/* /Components/DashboardV2/QuickActionsCard.razor.rz.scp.css */
.wr-quick-actions-card[b-4chlj73d35] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg);
    box-shadow: var(--wr-shadow-sm);
    padding: 1rem 0.7rem 0.6rem;
    display: flex;
    flex-direction: column;
}

.wr-quick-actions-title[b-4chlj73d35] {
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--wr-ink-900);
    padding: 0 0.4rem;
    margin-bottom: 0.4rem;
}

.wr-quick-actions-link[b-4chlj73d35] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.6rem 0.4rem;
    border-radius: 9px;
    color: var(--wr-ink-900);
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease;
}

.wr-quick-actions-link:hover[b-4chlj73d35] {
    background: var(--wr-surface-2);
}

.wr-quick-actions-ico[b-4chlj73d35] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wr-accent-soft);
    color: var(--wr-accent-ink);
    font-size: 0.82rem;
    flex: none;
}
/* /Components/DashboardV2/RecommendedAgentsPanel.razor.rz.scp.css */
.wr-recommended-agents-grid[b-ss3s64j942] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
    margin-top: 0.9rem;
}

.wr-recommended-agent-item[b-ss3s64j942] {
    display: flex;
    flex-direction: column;
}

.wr-recommended-agent-reasons[b-ss3s64j942] {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0.6rem 0.7rem;
    background: var(--wr-surface-2, #f8f9fb);
    border: 1px solid var(--wr-border);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.wr-recommended-agent-reasons li[b-ss3s64j942] {
    font-size: 0.76rem;
    color: var(--wr-ink-600);
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.wr-recommended-agent-reasons li i[b-ss3s64j942] {
    color: var(--wr-success, #0ca30c);
    font-size: 0.68rem;
    margin-top: 0.2rem;
}
/* /Components/DashboardV2/ReferralActivityCard.razor.rz.scp.css */
.wr-referral-activity-stats[b-ecrw6i6n8f] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.7rem;
    padding: 1rem 1.15rem 0;
}

.wr-referral-activity-stat[b-ecrw6i6n8f] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    padding: 0.8rem 0.75rem;
    border-radius: 12px;
    background: var(--wr-surface-2);
}

.wr-referral-activity-stat-ico[b-ecrw6i6n8f] {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wr-accent-soft);
    color: var(--wr-accent-ink);
    font-size: 0.72rem;
}

.wr-referral-activity-stat-ico-warn[b-ecrw6i6n8f] {
    background: rgba(201, 133, 0, 0.14);
    color: var(--wr-warning, #c98500);
}

.wr-referral-activity-stat-ico-success[b-ecrw6i6n8f] {
    background: rgba(47, 212, 138, 0.14);
    color: var(--wr-success);
}

.wr-referral-activity-stat-value[b-ecrw6i6n8f] {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--wr-ink-900);
    font-family: var(--wr-font-mono);
}

.wr-referral-activity-stat-label[b-ecrw6i6n8f] {
    font-size: 0.68rem;
    font-weight: 650;
    color: var(--wr-ink-600);
    line-height: 1.25;
}

.wr-referral-activity-feed[b-ecrw6i6n8f] {
    padding: 0.5rem 1.15rem 0;
}

.wr-referral-activity-actions[b-ecrw6i6n8f] {
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
    padding: 0.9rem 1.15rem 1.1rem;
}

@media (max-width: 640px) {
    .wr-referral-activity-stats[b-ecrw6i6n8f] {
        grid-template-columns: repeat(2, 1fr);
    }

    .wr-referral-activity-actions[b-ecrw6i6n8f] {
        justify-content: stretch;
    }

    .wr-referral-activity-actions .wr-btn[b-ecrw6i6n8f] {
        flex: 1;
        justify-content: center;
    }
}
/* /Components/DashboardV2/ReferralPipelineSummary.razor.rz.scp.css */
.wr-pipeline-card[b-3g74amkiqt] {
    background: var(--wr-surface, #fff);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg, 16px);
    box-shadow: var(--wr-shadow-sm);
    padding: 1.1rem 1.2rem 1.3rem;
}

.wr-pipeline-head[b-3g74amkiqt] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.wr-pipeline-head h2[b-3g74amkiqt] {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--wr-ink-900);
}

.wr-pipeline-stages[b-3g74amkiqt] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.6rem;
}

.wr-pipeline-stage[b-3g74amkiqt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.7rem 0.4rem;
    background: var(--wr-surface-2, #f8f9fb);
    text-decoration: none;
    transition: box-shadow 0.15s var(--wr-ease, ease);
}

.wr-pipeline-stage:hover[b-3g74amkiqt] {
    box-shadow: var(--wr-shadow-sm);
}

.wr-pipeline-stage-count[b-3g74amkiqt] {
    font-size: 1.3rem;
    font-weight: 800;
    font-family: var(--wr-font-mono);
    color: var(--wr-ink-900);
}

.wr-pipeline-stage-label[b-3g74amkiqt] {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--wr-ink-600);
    text-align: center;
}

.wr-pipeline-stage-attention .wr-pipeline-stage-count[b-3g74amkiqt] {
    color: #a56d00;
}

.wr-pipeline-stage-attention[b-3g74amkiqt] {
    border-color: #f3d9a0;
    background: #fdf1da;
}

.wr-pipeline-stage-active .wr-pipeline-stage-count[b-3g74amkiqt] {
    color: var(--wr-accent-ink, #184f95);
}

.wr-pipeline-stage-done .wr-pipeline-stage-count[b-3g74amkiqt] {
    color: #157a42;
}

@media (max-width: 700px) {
    .wr-pipeline-stages[b-3g74amkiqt] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 420px) {
    .wr-pipeline-stages[b-3g74amkiqt] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/DashboardV2/TabEmptyState.razor.rz.scp.css */
.wr-tab-empty[b-ghub8oo7qk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 2.5rem 1.5rem;
    color: var(--wr-ink-400);
}

.wr-tab-empty-icon[b-ghub8oo7qk] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--wr-surface-2);
    color: var(--wr-ink-400);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin-bottom: 0.4rem;
}

.wr-tab-empty h4[b-ghub8oo7qk] {
    color: var(--wr-ink-900);
    font-size: 0.95rem;
    font-weight: 650;
    margin: 0;
}

.wr-tab-empty p[b-ghub8oo7qk] {
    font-size: 0.82rem;
    max-width: 34ch;
    margin: 0;
}

.wr-tab-empty .wr-btn[b-ghub8oo7qk] {
    margin-top: 0.4rem;
}
/* /Components/DashboardV2/TodayPriorityList.razor.rz.scp.css */
.wr-priority-list-card[b-0zoni510di] {
    background: var(--wr-surface, #fff);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg, 16px);
    box-shadow: var(--wr-shadow-sm);
    padding: 1.1rem 1.2rem 1.3rem;
}

.wr-priority-list-head[b-0zoni510di] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.wr-priority-list-head h2[b-0zoni510di] {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--wr-ink-900);
}

.wr-priority-list[b-0zoni510di] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.wr-priority-item[b-0zoni510di] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.7rem 0.9rem;
    background: var(--wr-surface-2, #f8f9fb);
}

.wr-priority-item-icon[b-0zoni510di] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wr-accent-soft, #eaf1fc);
    color: var(--wr-accent-ink, #184f95);
    font-size: 0.95rem;
}

.wr-priority-item-body[b-0zoni510di] {
    flex: 1;
    min-width: 0;
}

.wr-priority-item-top[b-0zoni510di] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.wr-priority-item-top strong[b-0zoni510di] {
    font-size: 0.9rem;
    color: var(--wr-ink-900);
}

.wr-priority-item-urgency[b-0zoni510di] {
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    background: #fde5e0;
    color: #b8401d;
}

.wr-priority-item-body p[b-0zoni510di] {
    margin: 0.15rem 0 0;
    font-size: 0.8rem;
    color: var(--wr-ink-600);
}

.wr-priority-item .wr-btn[b-0zoni510di] {
    flex: none;
}

@media (max-width: 600px) {
    .wr-priority-item[b-0zoni510di] {
        flex-wrap: wrap;
    }

    .wr-priority-item .wr-btn[b-0zoni510di] {
        margin-left: auto;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}
/* /Components/DashboardV2/UpcomingFollowUps.razor.rz.scp.css */
.wr-followups-card[b-9lm8h0gnbx] {
    background: var(--wr-surface, #fff);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg, 16px);
    box-shadow: var(--wr-shadow-sm);
    padding: 1.1rem 1.2rem 1.3rem;
}

.wr-followups-head[b-9lm8h0gnbx] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.wr-followups-head h2[b-9lm8h0gnbx] {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--wr-ink-900);
}

.wr-followups-list[b-9lm8h0gnbx] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.wr-followup-item[b-9lm8h0gnbx] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.7rem 0.9rem;
    background: var(--wr-surface-2, #f8f9fb);
}

.wr-followup-item-icon[b-9lm8h0gnbx] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fdf1da;
    color: #a56d00;
    font-size: 0.9rem;
}

.wr-followup-item-body[b-9lm8h0gnbx] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.wr-followup-item-body strong[b-9lm8h0gnbx] {
    font-size: 0.9rem;
    color: var(--wr-ink-900);
}

.wr-followup-item-meta[b-9lm8h0gnbx] {
    font-size: 0.76rem;
    color: var(--wr-ink-600);
}

.wr-followup-item .wr-btn[b-9lm8h0gnbx] {
    flex: none;
}

@media (max-width: 600px) {
    .wr-followup-item[b-9lm8h0gnbx] {
        flex-wrap: wrap;
    }

    .wr-followup-item .wr-btn[b-9lm8h0gnbx] {
        margin-left: auto;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}
/* /Components/Layout/DashboardLayout.razor.rz.scp.css */
#blazor-error-ui[b-jczakmf0jc] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-jczakmf0jc] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/DashboardLayoutV2.razor.rz.scp.css */
#blazor-error-ui[b-42ejm9to60] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-42ejm9to60] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-20w8fwckso] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-20w8fwckso] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-icxi3fovky],
.components-reconnect-repeated-attempt-visible[b-icxi3fovky],
.components-reconnect-failed-visible[b-icxi3fovky],
.components-pause-visible[b-icxi3fovky],
.components-resume-failed-visible[b-icxi3fovky],
.components-rejoining-animation[b-icxi3fovky] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-retrying[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-failed[b-icxi3fovky],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-icxi3fovky] {
    display: block;
}


#components-reconnect-modal[b-icxi3fovky] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-icxi3fovky 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-icxi3fovky 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-icxi3fovky 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-icxi3fovky]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-icxi3fovky 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-icxi3fovky {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-icxi3fovky {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-icxi3fovky {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-icxi3fovky] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-icxi3fovky] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-icxi3fovky] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-icxi3fovky] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-icxi3fovky] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-icxi3fovky] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-icxi3fovky] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-icxi3fovky 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-icxi3fovky] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-icxi3fovky {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/SidebarNav.razor.rz.scp.css */
/* Round-3 design language, Phase 4: bring the legacy sidebar (Admin/Vendor/Brokerage, and any
   Agent page still on DashboardLayout V1) in line with DashboardLayoutV2's Abyss dark treatment --
   same tokens, same mechanism (SidebarNavV2.razor.css), just re-applied here since V1 and V2 are
   separate components with no shared base class to hook a single rule into. Markup is untouched
   (no new wrapper classes), so existing Playwright selectors against .wr-sidebar-* keep working;
   only colors/backgrounds/borders change. */

.wr-sidebar[b-iub5hn15ke] {
    background: linear-gradient(190deg, var(--wr-deck-950, #0a0f1e) 0%, var(--wr-deck-900, #101830) 62%, var(--wr-deck-850, #161f3d) 100%);
    border-right: 1px solid var(--v2-line-dark, rgba(232, 236, 245, 0.09));
}

.wr-sidebar-header[b-iub5hn15ke] {
    border-bottom: 1px solid var(--v2-line-dark, rgba(232, 236, 245, 0.09));
}

.wr-sidebar-brand[b-iub5hn15ke] {
    color: var(--v2-on-dark, #e8ecf5);
}

.wr-sidebar-brand span[b-iub5hn15ke] {
    color: #8fb8ec;
}

.wr-sidebar-collapse-btn[b-iub5hn15ke] {
    border-color: var(--v2-line-dark, rgba(232, 236, 245, 0.09));
    color: var(--v2-on-dark-muted, #8b93ad);
}

.wr-sidebar-collapse-btn:hover[b-iub5hn15ke] {
    color: var(--v2-on-dark, #e8ecf5);
    border-color: var(--wr-accent);
}

.wr-sidebar-section-label[b-iub5hn15ke] {
    color: var(--v2-on-dark-muted, #8b93ad);
}

.wr-sidebar-link[b-iub5hn15ke] {
    color: var(--v2-on-dark-muted, #8b93ad);
}

.wr-sidebar-link:hover[b-iub5hn15ke] {
    background: rgba(232, 236, 245, 0.06);
    color: var(--v2-on-dark, #e8ecf5);
}

.wr-sidebar-link.active[b-iub5hn15ke] {
    position: relative;
    background: linear-gradient(90deg, rgba(62, 123, 250, 0.22), rgba(139, 107, 255, 0.10));
    color: #fff;
    box-shadow: none;
}

.wr-sidebar-link.active[b-iub5hn15ke]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(var(--wr-accent), var(--wr-ai));
    box-shadow: 0 0 12px 1px rgba(62, 123, 250, 0.55);
}

.wr-sidebar-link.active i[b-iub5hn15ke] {
    background: none;
    color: #fff;
    box-shadow: none;
}

.wr-sidebar-link-locked[b-iub5hn15ke] {
    color: var(--v2-on-dark-muted, #8b93ad);
    opacity: 0.7;
}

.wr-sidebar-group > summary[b-iub5hn15ke]::after {
    color: var(--v2-on-dark-muted, #8b93ad);
}

.wr-sidebar-footer[b-iub5hn15ke] {
    border-top: 1px solid var(--v2-line-dark, rgba(232, 236, 245, 0.09));
}
/* /Components/Layout/SidebarNavV2.razor.rz.scp.css */
/* Scoped to SidebarNavV2 only -- app-shell.css's shared .wr-sidebar-* rules (used by both V1 and V2)
   are never edited; everything here only adds to or overrides them within this component's markup.

   Premium-CRM polish pass: the previous dark-navy "Command Center" re-theme (a gradient navy
   background with a separate on-dark color set) is retired here in favor of the clean light theme
   app-shell.css's shared rules already define (white surface, --wr-ink-900 text, --wr-accent blue
   active state with a left accent bar + filled icon chip) -- that base was already "premium SaaS"
   quality on its own (see its own comment: "the pattern premium sidebars (Linear/Notion) use"), it
   was just being overridden by the dark theme below. Nothing added here fights that base; it only
   sizes Lucide's inline SVGs (replacing Font Awesome's font-glyph sizing) and styles the new
   footer profile card / notification badges / AI Workspace group. */

.wr-sidebar-v2 .wr-sidebar-link svg[b-zpph24aiui],
.wr-sidebar-v2 .wr-sidebar-link i[b-zpph24aiui] {
    width: 18px;
    height: 18px;
    flex: none;
}

/* Row sizing (padding/gap/font-size) deliberately does NOT live here. Blazor appends this file's
   [b-xxxxx] scope attribute to the last element of a selector, and <NavLink> renders its <a> from a
   separate component, so `.wr-sidebar-v2 .wr-sidebar-link` never matched a NavLink -- it only ever
   matched the two raw <button> rows (Ask AI, Setup Assistant), sizing them differently from every
   link beside them. The base `.wr-sidebar-link` rule in app-shell.css now sizes every row, buttons
   included, so they match. (Same isolation trap already documented on .wr-sidebar-tour-btn there.) */

/* Collapsible group headers (AI Tools, Listings, Activity, Account) carry an icon +
   label -- app-shell.css's summary rule only ever styled plain text, so the flex layout + caret
   spacing is scoped here. */
.wr-sidebar-v2 .wr-sidebar-group > summary[b-zpph24aiui] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
}

.wr-sidebar-v2 .wr-sidebar-group > summary svg[b-zpph24aiui],
.wr-sidebar-v2 .wr-sidebar-group > summary i[b-zpph24aiui] {
    width: 15px;
    height: 15px;
    opacity: 0.7;
}

/* Every leaf item now carries its own icon too (not just group headers) -- a flatter, more
   icon-forward row style than the old text-only-indented sublinks, matching modern SaaS nav
   patterns (HubSpot/Monday.com) where every row reads at a glance without following indentation. */
.wr-sidebar-v2 .wr-sidebar-sublink[b-zpph24aiui] {
    font-size: 0.92em;
}

.wr-sidebar-badge[b-zpph24aiui] {
    margin-left: auto;
    flex: none;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    color: var(--wr-accent-ink, #184f95);
    background: var(--wr-accent-soft, #eaf1fc);
    border-radius: 999px;
    padding: 0.22rem 0.45rem;
    min-width: 1.1rem;
    text-align: center;
}

.wr-sidebar-link.active .wr-sidebar-badge[b-zpph24aiui] {
    background: rgba(255, 255, 255, 0.9);
}

/* ---------- AI Tools group (works: <details>/<summary> are written in this component, so the
     isolation scope attribute does land on them, unlike NavLink-rendered anchors) ---------- */
.wr-sidebar-ai-group[b-zpph24aiui] {
    border-radius: 10px;
    background: var(--wr-ai-soft, rgba(139, 107, 255, 0.08));
    padding: 0.3rem 0.2rem;
    margin-bottom: 4px;
}

.wr-sidebar-ai-group > summary[b-zpph24aiui] {
    color: var(--wr-cat-4, #4a3aa7);
}

.wr-sidebar-ai-group > summary svg[b-zpph24aiui],
.wr-sidebar-ai-group > summary i[b-zpph24aiui] {
    color: var(--wr-ai, #8b6bff);
    opacity: 1;
}

/* ---------- Footer profile card ---------- */
.wr-sidebar-profile-card[b-zpph24aiui] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.wr-sidebar-profile-row[b-zpph24aiui] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.wr-sidebar-profile-avatar[b-zpph24aiui] {
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 10px;
    background: var(--wr-primary-gradient);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.82rem;
}

.wr-sidebar-profile-info[b-zpph24aiui] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.wr-sidebar-profile-name[b-zpph24aiui] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--wr-ink-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wr-sidebar-profile-plan[b-zpph24aiui] {
    font-size: 0.72rem;
    color: var(--wr-ink-400);
}

.wr-sidebar-profile-progress-head[b-zpph24aiui] {
    display: flex;
    justify-content: space-between;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--wr-ink-400);
    margin-bottom: 0.3rem;
}

.wr-sidebar-profile-progress-track[b-zpph24aiui] {
    height: 6px;
    border-radius: 999px;
    background: var(--wr-surface-2, #f2f4f7);
    overflow: hidden;
}

.wr-sidebar-profile-progress-fill[b-zpph24aiui] {
    height: 100%;
    border-radius: 999px;
    background: var(--wr-primary-gradient);
    transition: width 0.3s var(--wr-ease, ease);
}

@media (prefers-reduced-motion: reduce) {
    .wr-sidebar-profile-progress-fill[b-zpph24aiui] {
        transition: none;
    }
}

.wra-sidebar-collapsed .wr-sidebar-profile-info[b-zpph24aiui],
.wra-sidebar-collapsed .wr-sidebar-profile-progress[b-zpph24aiui] {
    display: none;
}
/* /Components/Listings/AddListing.razor.rz.scp.css */
/* Two-route chooser for Add Listing. Equal-weight cards -- neither route is a consolation prize:
   manual is the dependable path, upload is the fast one, and an agent should be able to tell which
   they want at a glance without reading the body copy. */
.wr-addlisting-choices[b-hkwdlq1bro] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
    max-width: 940px;
}

.wr-addlisting-card[b-hkwdlq1bro] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: var(--wr-radius-lg, 14px);
    background: var(--wr-surface, #fff);
    box-shadow: var(--wr-shadow-sm, 0 1px 2px rgba(16, 24, 40, 0.06));
}

/* The AI route gets a tinted ground rather than a louder button, so it reads as the newer option
   without implying the manual route is deprecated. */
.wr-addlisting-card-ai[b-hkwdlq1bro] {
    background: linear-gradient(135deg, #f6f8ff 0%, #fdfaff 100%);
    border-color: #d9defc;
}

.wr-addlisting-icon[b-hkwdlq1bro] {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    border-radius: 12px;
    font-size: 1.15rem;
    color: #fff;
}

.wr-addlisting-icon-manual[b-hkwdlq1bro] { background: linear-gradient(135deg, #0f4c9a 0%, #2563eb 100%); }
.wr-addlisting-icon-ai[b-hkwdlq1bro] { background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%); }

.wr-addlisting-card h2[b-hkwdlq1bro] {
    margin: 0 0 8px;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--wr-text, #0f172a);
}

.wr-addlisting-card p[b-hkwdlq1bro] {
    margin: 0 0 14px;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--wr-text-muted, #64748b);
}

/* "Already have a listing flyer?" -- the question that makes the upload route make sense. */
.wr-addlisting-lede[b-hkwdlq1bro] {
    font-weight: 600;
    color: var(--wr-text, #0f172a) !important;
    margin-bottom: 4px !important;
}

.wr-addlisting-note[b-hkwdlq1bro] {
    margin: 12px 0 0 !important;
    font-size: 0.82rem;
}

.wr-addlisting-formats[b-hkwdlq1bro] {
    margin: 14px 0 0 !important;
    font-size: 0.78rem;
    color: var(--wr-text-muted, #94a3b8) !important;
}

.wr-addlisting-footnote[b-hkwdlq1bro] {
    max-width: 940px;
    margin: 20px 0 0;
    font-size: 0.85rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-addlisting-skeleton[b-hkwdlq1bro] {
    width: 160px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(90deg, #eef2f7 25%, #f7fafc 50%, #eef2f7 75%);
    background-size: 200% 100%;
    animation: wr-addlisting-shimmer-b-hkwdlq1bro 1.2s infinite;
}

@keyframes wr-addlisting-shimmer-b-hkwdlq1bro {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}
/* /Components/Listings/EditListing.razor.rz.scp.css */
/* "Review Your Listing" -- the confirmation step after an AI import.
   Two groups, and the order is deliberate: what needs the agent's attention comes FIRST, because
   the failure mode this screen exists to prevent is an agent skimming a wall of green ticks and
   publishing a blank or mis-read field. */
.wr-review-panel[b-d0gyyy2fzu] {
    margin-bottom: 20px;
    padding: 22px;
    border: 1px solid #d9defc;
    border-radius: var(--wr-radius-lg, 14px);
    background: linear-gradient(135deg, #f7f9ff 0%, #fdfaff 100%);
}

.wr-review-head[b-d0gyyy2fzu] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.wr-review-icon[b-d0gyyy2fzu] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
}

.wr-review-head h2[b-d0gyyy2fzu] { margin: 0 0 4px; font-size: 1.1rem; font-weight: 700; }
.wr-review-head p[b-d0gyyy2fzu] { margin: 0; font-size: 0.88rem; line-height: 1.5; color: var(--wr-text-muted, #64748b); }

.wr-review-group[b-d0gyyy2fzu] { margin-top: 16px; }

.wr-review-group h3[b-d0gyyy2fzu] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--wr-text-muted, #64748b);
}

.wr-review-group h3 i[b-d0gyyy2fzu] { color: #16a34a; }
.wr-review-group-attention h3 i[b-d0gyyy2fzu] { color: #d97706; }

.wr-review-group ul[b-d0gyyy2fzu] {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.wr-review-group li[b-d0gyyy2fzu] {
    display: grid;
    grid-template-columns: 150px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 9px 14px;
    font-size: 0.88rem;
    border-bottom: 1px solid #f1f5f9;
}

.wr-review-group li:last-child[b-d0gyyy2fzu] { border-bottom: none; }

.wr-review-label[b-d0gyyy2fzu] { color: var(--wr-text-muted, #64748b); }
.wr-review-value[b-d0gyyy2fzu] { color: var(--wr-text, #0f172a); font-weight: 500; word-break: break-word; }

/* A field the document did not contain. Styled as absent, never as a value -- an em-dash or a 0
   here would read as data. */
.wr-review-value.is-missing[b-d0gyyy2fzu] {
    color: #94a3b8;
    font-style: italic;
    font-weight: 400;
}

.wr-review-badge[b-d0gyyy2fzu] {
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
    background: #dcfce7;
    color: #166534;
}

.wr-review-badge-low[b-d0gyyy2fzu] { background: #fef3c7; color: #92400e; }

.wr-review-features-note[b-d0gyyy2fzu] {
    margin: -4px 0 10px;
    font-size: 0.8rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-review-chips[b-d0gyyy2fzu] { display: flex; flex-wrap: wrap; gap: 7px; }

.wr-review-chip[b-d0gyyy2fzu] {
    padding: 4px 10px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 999px;
    background: #fff;
    font-size: 0.78rem;
    color: var(--wr-text, #334155);
}

@media (max-width: 640px) {
    .wr-review-group li[b-d0gyyy2fzu] { grid-template-columns: 1fr; gap: 3px; }
}

/* AI action rows. Wrap rather than scroll -- these sit inside a card header on desktop and stack
   under it on a phone. */
.wr-ai-actions[b-d0gyyy2fzu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Output of the marketing actions. Read-only on purpose: this text is meant to be copied into
   another channel, not saved as part of the listing, and an editable box would imply otherwise. */
.wr-ai-scratch[b-d0gyyy2fzu] {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d9defc;
    border-radius: 10px;
    background: #f8faff;
}

.wr-ai-scratch-head[b-d0gyyy2fzu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--wr-text-muted, #64748b);
}

.wr-ai-scratch textarea[b-d0gyyy2fzu] {
    background: #fff;
    font-size: 0.88rem;
    line-height: 1.55;
}

/* Listing-agent attribution read off the document. Informational only -- it is never written to
   the listing, which belongs to the signed-in agent. */
.wr-review-agent[b-d0gyyy2fzu] {
    margin: 8px 0 0 !important;
    font-size: 0.82rem;
    color: var(--wr-text-muted, #64748b);
}

/* Draft banner. A draft is invisible to everyone but its owner, and saying so plainly is what
   stops an agent assuming the import already published something. */
.wr-draft-banner[b-d0gyyy2fzu] {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    padding: 12px 16px;
    border: 1px solid #fde68a;
    border-radius: 10px;
    background: #fffbeb;
    font-size: 0.88rem;
    color: #92400e;
}

.wr-draft-banner i[b-d0gyyy2fzu] { flex: 0 0 auto; }
/* /Components/Listings/ImportListing.razor.rz.scp.css */
.wr-import-wrap[b-jyyjs4nbea] { max-width: 760px; }

.wr-import-card[b-jyyjs4nbea] { padding: 28px; }

/* ---------------- Step explainer ---------------- */
.wr-import-steps[b-jyyjs4nbea] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.wr-import-steps li[b-jyyjs4nbea] {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 12px;
    background: var(--wr-surface, #fff);
}

.wr-import-step-num[b-jyyjs4nbea] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

.wr-import-steps strong[b-jyyjs4nbea] {
    display: block;
    font-size: 0.9rem;
    color: var(--wr-text, #0f172a);
}

.wr-import-steps span:not(.wr-import-step-num)[b-jyyjs4nbea] {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--wr-text-muted, #64748b);
}

/* ---------------- Drop zone ----------------
   The file input is stretched transparently over the whole panel, which is what makes the entire
   area both clickable and a native drag-and-drop target with no JavaScript. A visually-hidden
   input inside a <label> gives you the click but not the drop, and nesting the input inside its
   own label also causes the label to re-dispatch clicks back onto the input -- which is what made
   the previous version feel unresponsive. */
.wr-import-drop[b-jyyjs4nbea] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 44px 24px;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    text-align: center;
    transition: border-color .15s ease, background .15s ease;
}

.wr-import-drop:hover[b-jyyjs4nbea] { border-color: #2563eb; background: #f5f8ff; }

.wr-import-drop.has-file[b-jyyjs4nbea] {
    border-style: solid;
    border-color: #16a34a;
    background: #f0fdf4;
}

/* ::deep is required: InputFile is a child component, so the scoped-CSS attribute is not applied
   to the <input> it renders and a plain .wr-import-input rule would never match it. */
.wr-import-drop[b-jyyjs4nbea]  .wr-import-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Keyboard users get a visible ring even though the input itself is transparent. */
.wr-import-drop:focus-within[b-jyyjs4nbea] {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.wr-import-drop-icon[b-jyyjs4nbea] {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 6px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
    font-size: 1.15rem;
}

.wr-import-drop-icon.is-ready[b-jyyjs4nbea] { background: linear-gradient(135deg, #16a34a 0%, #059669 100%); }

.wr-import-drop-title[b-jyyjs4nbea] {
    font-weight: 600;
    color: var(--wr-text, #0f172a);
    word-break: break-word;
}

.wr-import-drop-hint[b-jyyjs4nbea] { font-size: 0.8rem; color: var(--wr-text-muted, #64748b); }

/* ---------------- Primary CTA ----------------
   Deliberately full-width and large: this is the one action on the page, and the previous design's
   failure mode was an agent not realising anything was required of them after picking a file. */
.wr-import-cta[b-jyyjs4nbea] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    margin-top: 18px;
    padding: 15px 20px;
    font-size: 1rem;
    font-weight: 700;
}

.wr-import-cta:disabled[b-jyyjs4nbea] { opacity: .5; cursor: not-allowed; }

.wr-import-trial[b-jyyjs4nbea] {
    margin: 12px 0 0;
    font-size: 0.83rem;
    text-align: center;
    color: var(--wr-text-muted, #64748b);
}

.wr-import-error[b-jyyjs4nbea] {
    margin: 14px 0 0;
    font-size: 0.88rem;
    color: var(--wr-danger, #b42318);
}

.wr-import-reassure[b-jyyjs4nbea] {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--wr-border, #e2e8f0);
}

.wr-import-reassure p[b-jyyjs4nbea] {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: var(--wr-text-muted, #64748b);
}

.wr-import-reassure i[b-jyyjs4nbea] { color: #16a34a; margin-right: 6px; }

/* ---------------- Progress ---------------- */
.wr-import-busy[b-jyyjs4nbea] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0 8px;
    text-align: center;
}

.wr-import-busy h3[b-jyyjs4nbea] { margin: 16px 0 0; font-size: 1.1rem; }

.wr-import-spinner[b-jyyjs4nbea] {
    width: 34px;
    height: 34px;
    border: 3px solid #dbeafe;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: wr-import-spin-b-jyyjs4nbea .8s linear infinite;
}

@keyframes wr-import-spin-b-jyyjs4nbea { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .wr-import-spinner[b-jyyjs4nbea] { animation-duration: 2.4s; }
}

.wr-import-stages[b-jyyjs4nbea] {
    max-width: 320px;
    margin: 22px auto 8px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.wr-import-stages li[b-jyyjs4nbea] {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.9rem;
    color: #94a3b8;
    transition: color .2s ease;
}

.wr-import-stages li i[b-jyyjs4nbea] { width: 16px; text-align: center; }
.wr-import-stages li.is-active[b-jyyjs4nbea] { color: var(--wr-text, #0f172a); font-weight: 600; }
.wr-import-stages li.is-active i[b-jyyjs4nbea] { color: #2563eb; }
.wr-import-stages li.is-done[b-jyyjs4nbea] { color: var(--wr-text, #334155); }
.wr-import-stages li.is-done i[b-jyyjs4nbea] { color: #16a34a; }

/* ---------------- Failure ---------------- */
.wr-import-failed-icon[b-jyyjs4nbea] {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin: 0 auto 16px;
    border-radius: 14px;
    background: #fef2f2;
    color: #b42318;
    font-size: 1.3rem;
}

.wr-card[data-testid="import-failed"][b-jyyjs4nbea] { text-align: center; }
.wr-card[data-testid="import-failed"] h3[b-jyyjs4nbea] { margin: 0 0 8px; font-size: 1.05rem; }
.wr-card[data-testid="import-failed"] p[b-jyyjs4nbea] { margin: 0 0 18px; font-size: 0.9rem; color: var(--wr-text-muted, #64748b); }

.wr-import-failed-actions[b-jyyjs4nbea] {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ---------------- Sample ---------------- */
.wr-import-sample[b-jyyjs4nbea] {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 16px;
    padding: 20px 22px;
}

.wr-import-sample h3[b-jyyjs4nbea] { margin: 0 0 4px; font-size: 0.98rem; font-weight: 700; }
.wr-import-sample p[b-jyyjs4nbea] { margin: 0; font-size: 0.86rem; color: var(--wr-text-muted, #64748b); }

.wr-import-alt[b-jyyjs4nbea] {
    margin: 16px 0 0;
    font-size: 0.86rem;
    color: var(--wr-text-muted, #64748b);
}
/* /Components/Listings/ListingMatches.razor.rz.scp.css */
.wr-matches-summary[b-9g998z1f9w] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: var(--wr-radius-lg, 14px);
    background: var(--wr-surface, #fff);
}

.wr-matches-summary p[b-9g998z1f9w] { margin: 0; font-size: 0.95rem; font-weight: 600; color: var(--wr-text, #0f172a); }
.wr-matches-sub[b-9g998z1f9w] { font-weight: 400 !important; font-size: 0.85rem !important; color: var(--wr-text-muted, #64748b) !important; flex-basis: 100%; }

.wr-matches-grid[b-9g998z1f9w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    gap: 16px;
}

.wr-match-card[b-9g998z1f9w] {
    display: flex;
    flex-direction: column;
    padding: 18px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: var(--wr-radius-lg, 14px);
    background: var(--wr-surface, #fff);
    box-shadow: var(--wr-shadow-sm, 0 1px 2px rgba(16, 24, 40, 0.06));
}

.wr-match-head[b-9g998z1f9w] { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }

.wr-match-head img[b-9g998z1f9w] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}

.wr-match-identity[b-9g998z1f9w] { display: flex; flex-direction: column; min-width: 0; }
.wr-match-name[b-9g998z1f9w] { font-weight: 700; color: var(--wr-text, #0f172a); }
.wr-match-brokerage[b-9g998z1f9w] { font-size: 0.82rem; color: var(--wr-text-muted, #64748b); }
.wr-match-location[b-9g998z1f9w] { font-size: 0.78rem; color: var(--wr-text-muted, #94a3b8); margin-top: 2px; }

/* The claim chip. The buyer-need variant is the only one allowed to imply a buyer requirement
   exists, and it is visually distinct so the two are never confused at a glance. */
.wr-match-claim[b-9g998z1f9w] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    margin-bottom: 10px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 600;
    background: #f1f5f9;
    color: #475569;
}

.wr-match-claim.is-buyer-need[b-9g998z1f9w] { background: #dcfce7; color: #166534; }

.wr-match-need[b-9g998z1f9w] {
    display: block;
    margin-bottom: 10px;
    font-size: 0.85rem;
    font-style: italic;
    color: #2563eb;
    text-decoration: none;
}

.wr-match-need:hover[b-9g998z1f9w] { text-decoration: underline; }

.wr-match-reasons[b-9g998z1f9w] {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.wr-match-reasons li[b-9g998z1f9w] {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    font-size: 0.82rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-match-reasons i[b-9g998z1f9w] { color: #16a34a; margin-top: 3px; font-size: 0.7rem; }

.wr-match-actions[b-9g998z1f9w] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.wr-match-connected[b-9g998z1f9w] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #166534;
}
/* /Components/Listings/PotentialConnectionsPanel.razor.rz.scp.css */
/* Sits directly under a published listing's header. Visually distinct from the form around it --
   this is the payoff of publishing, not another field. */
.wr-connections-panel[b-t49odcof2m] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 20px 22px;
    border: 1px solid #cfe0fb;
    border-radius: var(--wr-radius-lg, 14px);
    background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 100%);
}

.wr-connections-icon[b-t49odcof2m] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
}

.wr-connections-body[b-t49odcof2m] { min-width: 0; }

.wr-connections-body h3[b-t49odcof2m] {
    margin: 0 0 5px;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--wr-text, #0f172a);
}

.wr-connections-body p[b-t49odcof2m] {
    margin: 0 0 12px;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--wr-text-muted, #475569);
}

/* The buyer-need count -- the one line here backed by a posted need. Kept quieter than the
   headline so it reads as supporting evidence, not as a stronger claim. */
.wr-connections-detail[b-t49odcof2m] {
    font-size: 0.84rem !important;
    color: var(--wr-text-muted, #64748b) !important;
}
/* /Components/Markets/MarketCoverageSummary.razor.rz.scp.css */
.wr-mkt-summary[b-dbxumrasms] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.75rem;
}

.wr-mkt-summary-tile[b-dbxumrasms] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    background: var(--wr-surface, #fff);
    text-align: left;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.wr-mkt-summary-tile:hover[b-dbxumrasms] {
    box-shadow: var(--wr-shadow-sm);
    transform: translateY(-1px);
    border-color: var(--wr-accent-soft, var(--wr-accent));
}

.wr-mkt-summary-tile-static[b-dbxumrasms] {
    cursor: default;
}

.wr-mkt-summary-tile-static:hover[b-dbxumrasms] {
    box-shadow: none;
    transform: none;
    border-color: var(--wr-border);
}

.wr-mkt-summary-tile-cap[b-dbxumrasms] {
    background: var(--wr-surface-2, #f8f9fb);
}

.wr-mkt-summary-value[b-dbxumrasms] {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--wr-ink-900, #101828);
}

.wr-mkt-summary-label[b-dbxumrasms] {
    font-size: 0.76rem;
    color: var(--wr-ink-600);
    font-weight: 600;
}
/* /Components/Markets/MarketDeleteConfirmDialog.razor.rz.scp.css */
.wr-mkt-delete-modal[b-aa0rr9vx57] {
    width: min(440px, 92vw);
    text-align: left;
}

.wr-mkt-delete-modal h3[b-aa0rr9vx57] {
    margin: 0 0 0.5rem;
}

.wr-mkt-delete-modal p[b-aa0rr9vx57] {
    color: var(--wr-ink-600);
    font-size: 0.9rem;
}

.wr-mkt-delete-meta[b-aa0rr9vx57] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--wr-ink-500);
}

.wr-mkt-delete-modal .wr-btn-danger[b-aa0rr9vx57] {
    background: var(--wr-danger, #d92d20);
    color: #fff;
    border: 1px solid var(--wr-danger, #d92d20);
}

.wr-mkt-delete-modal .wr-btn-danger:hover[b-aa0rr9vx57] {
    filter: brightness(0.92);
}
/* /Components/Markets/MarketFeeStatusChip.razor.rz.scp.css */
.wr-mkt-chip[b-usv4f5qq8i] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.74rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.wr-mkt-chip-loading[b-usv4f5qq8i] {
    color: var(--wr-ink-500);
    cursor: default;
}

.wr-mkt-chip-good[b-usv4f5qq8i] {
    background: color-mix(in srgb, var(--wr-success, #17a34a) 12%, transparent);
    color: var(--wr-success, #17a34a);
}

.wr-mkt-chip-attention[b-usv4f5qq8i] {
    background: color-mix(in srgb, var(--wr-warning, #c98500) 14%, transparent);
    color: var(--wr-warning, #c98500);
}

.wr-mkt-chip-muted[b-usv4f5qq8i] {
    background: var(--wr-surface-2, #f2f3f6);
    color: var(--wr-ink-500);
}

.wr-mkt-chip-detail[b-usv4f5qq8i] {
    margin-top: 0.4rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--wr-border);
    border-radius: 10px;
    background: var(--wr-surface-2, #f8f9fb);
    font-size: 0.8rem;
    max-width: 320px;
}

.wr-mkt-chip-range[b-usv4f5qq8i] {
    margin: 0 0 0.3rem;
}

.wr-mkt-chip-detail ul[b-usv4f5qq8i] {
    margin: 0;
    padding-left: 1.1rem;
}

.wr-mkt-chip-detail li[b-usv4f5qq8i] {
    margin-bottom: 0.2rem;
}
/* /Components/Markets/MarketPreferenceModal.razor.rz.scp.css */
.wr-mkt-modal[b-3639h8ac6p] {
    width: min(640px, 92vw);
    max-height: 88vh;
    overflow-y: auto;
    text-align: left;
}

.wr-mkt-modal-head[b-3639h8ac6p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.wr-mkt-modal-head h3[b-3639h8ac6p] {
    margin: 0;
}

.wr-mkt-modal-close[b-3639h8ac6p] {
    background: none;
    border: none;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    color: var(--wr-ink-500);
}

.wr-mkt-modal-error[b-3639h8ac6p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-radius: 10px;
    background: color-mix(in srgb, var(--wr-danger, #d92d20) 10%, transparent);
    color: var(--wr-danger, #d92d20);
    font-size: 0.85rem;
    margin-bottom: 0.75rem;
}

.wr-mkt-modal-body[b-3639h8ac6p] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.wr-form-row-grid[b-3639h8ac6p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
}

.wr-form-group[b-3639h8ac6p] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.wr-form-group label[b-3639h8ac6p] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--wr-ink-600);
}

.wr-required[b-3639h8ac6p] {
    color: var(--wr-danger, #d92d20);
}

.wr-mkt-type-grid[b-3639h8ac6p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.wr-mkt-type-chip[b-3639h8ac6p] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--wr-border);
    border-radius: 999px;
    font-size: 0.8rem;
    cursor: pointer;
}

.wr-mkt-type-chip input[b-3639h8ac6p] {
    accent-color: var(--wr-accent);
}

.wr-mkt-type-chip-active[b-3639h8ac6p] {
    border-color: var(--wr-accent);
    background: color-mix(in srgb, var(--wr-accent) 10%, transparent);
}

.wr-mkt-advanced[b-3639h8ac6p] {
    border: 1px solid var(--wr-border);
    border-radius: 12px;
    padding: 0.6rem 0.85rem;
}

.wr-mkt-advanced > summary[b-3639h8ac6p] {
    cursor: pointer;
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--wr-ink-700, #344054);
}

.wr-mkt-advanced-body[b-3639h8ac6p] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 0.85rem;
}

.wr-mkt-radio-row[b-3639h8ac6p] {
    display: flex;
    gap: 1.25rem;
}

.wr-mkt-radio-row label[b-3639h8ac6p] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--wr-ink-700, #344054);
}

.wr-mkt-modal-actions[b-3639h8ac6p] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.1rem;
    flex-wrap: wrap;
}
/* /Components/Markets/MarketRowCard.razor.rz.scp.css */
.wr-mkt-row-card[b-t5aucejls8] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.wr-mkt-row-card-head[b-t5aucejls8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.wr-mkt-row-card-head h4[b-t5aucejls8] {
    margin: 0 0 0.15rem;
    font-size: 1rem;
}

.wr-mkt-row-card-types[b-t5aucejls8] {
    font-size: 0.78rem;
    color: var(--wr-ink-500);
}

.wr-mkt-row-card-grid[b-t5aucejls8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.wr-mkt-row-card-grid > div[b-t5aucejls8] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.wr-mkt-row-card-label[b-t5aucejls8] {
    font-size: 0.7rem;
    color: var(--wr-ink-500);
    font-weight: 600;
    text-transform: uppercase;
}

.wr-mkt-row-card-actions[b-t5aucejls8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
/* /Components/Markets/MyMarkets.razor.rz.scp.css */
.wr-hero-ctas[b-rclgls1owm] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.wr-mkt-empty[b-rclgls1owm] {
    text-align: center;
    padding: 2.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.wr-mkt-empty i[b-rclgls1owm] {
    font-size: 2rem;
    color: var(--wr-accent);
    margin-bottom: 0.4rem;
}

.wr-mkt-empty h3[b-rclgls1owm] {
    margin: 0;
}

.wr-mkt-empty p[b-rclgls1owm] {
    color: var(--wr-ink-600);
    max-width: 44ch;
}

.wr-mkt-empty-actions[b-rclgls1owm] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 0.5rem;
}

.wr-mkt-toolbar[b-rclgls1owm] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.wr-mkt-search[b-rclgls1owm] {
    flex: 1 1 220px;
    min-width: 180px;
}

.wr-mkt-toolbar select[b-rclgls1owm] {
    flex: 0 0 auto;
}

.wr-mkt-mobile-cards[b-rclgls1owm] {
    display: none;
    flex-direction: column;
    gap: 0.75rem;
}

@media (max-width: 860px) {
    .wr-mkt-desktop-table[b-rclgls1owm] {
        display: none;
    }

    .wr-mkt-mobile-cards[b-rclgls1owm] {
        display: flex;
    }
}
/* /Components/Markets/ReferralFeeAdvisorCard.razor.rz.scp.css */
.wr-mkt-advisor-head[b-yj6l8ovm1o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.wr-mkt-advisor-head i[b-yj6l8ovm1o] {
    color: var(--wr-ai, #8b6bff);
}

.wr-mkt-advisor-head h3[b-yj6l8ovm1o] {
    margin: 0;
    font-size: 1rem;
}

.wr-mkt-advisor-empty[b-yj6l8ovm1o] {
    color: var(--wr-ink-500);
    font-size: 0.9rem;
    margin: 0;
}

.wr-mkt-advisor-picker[b-yj6l8ovm1o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.wr-mkt-advisor-picker label[b-yj6l8ovm1o] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--wr-ink-600);
}

.wr-mkt-advisor-picker select[b-yj6l8ovm1o] {
    max-width: 320px;
}

.wr-mkt-advisor-insufficient[b-yj6l8ovm1o] {
    color: var(--wr-ink-600);
    font-size: 0.88rem;
    background: var(--wr-surface-2, #f8f9fb);
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
}

.wr-mkt-advisor-range[b-yj6l8ovm1o] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.35rem;
}

.wr-mkt-advisor-range-value[b-yj6l8ovm1o] {
    font-size: 1.4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.wr-mkt-advisor-confidence[b-yj6l8ovm1o] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--wr-surface-2, #f2f3f6);
    color: var(--wr-ink-600);
}

.wr-mkt-advisor-confidence-high[b-yj6l8ovm1o] { background: color-mix(in srgb, var(--wr-success, #17a34a) 14%, transparent); color: var(--wr-success, #17a34a); }
.wr-mkt-advisor-confidence-moderate[b-yj6l8ovm1o] { background: color-mix(in srgb, var(--wr-accent) 14%, transparent); color: var(--wr-accent); }
.wr-mkt-advisor-confidence-low[b-yj6l8ovm1o] { background: color-mix(in srgb, var(--wr-warning, #c98500) 14%, transparent); color: var(--wr-warning, #c98500); }

.wr-mkt-advisor-start[b-yj6l8ovm1o] {
    margin: 0 0 0.5rem;
    font-size: 0.88rem;
}

.wr-mkt-advisor-why[b-yj6l8ovm1o] {
    margin: 0 0 0.75rem;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.wr-mkt-advisor-why li[b-yj6l8ovm1o] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.84rem;
    color: var(--wr-ink-700, #344054);
}

.wr-mkt-advisor-why li i[b-yj6l8ovm1o] {
    color: var(--wr-success, #17a34a);
    margin-top: 0.2rem;
    font-size: 0.72rem;
}

.wr-mkt-advisor-actions[b-yj6l8ovm1o] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
/* /Components/Pages/DashboardV2.razor.rz.scp.css */
/* Page wrapper only. The dashboard's own sections are laid out by css/wr-design-system.css
   (.wr-dash3 / .wr-dash3-top / .wr-dash3-mid / .wr-dash3-bottom), which is unscoped because those
   rules also have to reach the child components' rendered markup -- Blazor CSS isolation would
   confine anything written here to the elements DashboardV2.razor itself renders.

   The .wr-dash-grid / .wr-dash-main / .wr-dash-rail rules that used to live here went with the
   two-column layout they described; the design-system v3 rebuild renders none of those elements. */

/* Caps the measure on very wide monitors so the four-column KPI/section bands don't stretch into
   unreadably long rows, while still filling a 1366-1600 laptop edge to edge. The horizontal
   padding matches .wr-dashboard-page's own gutter so the page reads as one consistent margin. */
.wr-dashboard-v2-page[b-cxawglej7a] {
    max-width: 1360px;
    margin: 0 auto;
    padding-top: 0;
}
/* /Components/Pages/Seller/HomeValue.razor.rz.scp.css */
/* HomeValue.razor -- page-specific composition only. Shared, reused-elsewhere components
   (buttons, FAQ accordion, chat panel/FAB, disclaimer, form) stay in the shared
   wwwroot/css/seller.css so the rest of the seller funnel (how-it-works, seller-resources,
   thank-you) keeps one consistent design system instead of forking styles per page. Design
   tokens (--wrs-navy, --wrs-blue, --wrs-radius, --wrs-shadow*) are defined globally in
   seller.css and are visible here -- CSS custom properties cross Blazor's CSS-isolation scope
   boundary normally, since scoping is just an attribute selector, not a new cascade context. */

/* ---------- Hero ---------- */
.hv-hero[b-4zmighd6xa] {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f3f6fb 0%, var(--wrs-surface-alt) 60%, #eef2f9 100%);
}

.hv-hero-inner[b-4zmighd6xa] {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 44% 56%;
    align-items: stretch;
    min-height: 620px;
}

.hv-hero-copy[b-4zmighd6xa] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px clamp(24px, 4vw, 64px) 48px clamp(24px, 4vw, 64px);
}

.hv-hero-copy h1[b-4zmighd6xa] {
    max-width: 760px;
    font-size: clamp(2.1rem, 3.4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--wrs-navy);
    margin: 0 0 20px;
}

.hv-hero-copy h1 .hv-hero-accent[b-4zmighd6xa] {
    color: var(--wrs-blue);
}

.hv-hero-subhead[b-4zmighd6xa] {
    max-width: 560px;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--wrs-ink-600);
    margin: 0 0 24px;
}

.hv-hero-benefits[b-4zmighd6xa] {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hv-hero-benefits li[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--wrs-ink);
}

.hv-hero-benefits i[b-4zmighd6xa] {
    color: var(--wrs-green);
    font-size: 1.05rem;
}

.hv-hero-actions[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}

.hv-hero-secondary[b-4zmighd6xa] {
    color: var(--wrs-navy);
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .hv-hero-secondary:hover[b-4zmighd6xa] {
        text-decoration: underline;
    }

    .hv-hero-secondary:focus-visible[b-4zmighd6xa] {
        outline: 2px solid var(--wrs-blue);
        outline-offset: 3px;
        border-radius: 4px;
    }

.hv-hero-trust[b-4zmighd6xa] {
    margin: 14px 0 0;
    font-size: 0.82rem;
    color: var(--wrs-ink-400);
}

.hv-hero-trust i[b-4zmighd6xa] {
    color: var(--wrs-green);
    margin-right: 4px;
}

.hv-hero-media[b-4zmighd6xa] {
    position: relative;
}

.hv-hero-media img[b-4zmighd6xa] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* This crop is the house-photo region of the approved reference itself (extracted at
       wwwroot/images/seller-landing/home-value-hero-house-wide.png -- x=425..878, y=70..345 of
       wwwroot/images/references/home-value-landing-reference.png), landscape at ~1.65:1,
       verified pixel-by-pixel to contain zero UI/overlay content: no header, no CTA button, no
       floating stats card. It is a real photographic crop, not a generated image and not the
       full-page screenshot. */
    object-position: center 30%;
}

.hv-hero-media-blend[b-4zmighd6xa] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, var(--wrs-surface-alt) 0%, rgba(238, 242, 249, 0) 18%);
    pointer-events: none;
}

/* ---------- Benefits strip (overlaps hero bottom edge) ---------- */
.hv-benefits[b-4zmighd6xa] {
    position: relative;
    z-index: 2;
    padding: 0 clamp(24px, 4vw, 64px) 48px;
}

.hv-benefits-card[b-4zmighd6xa] {
    max-width: 1440px;
    margin: -60px auto 0;
    background: var(--wrs-surface);
    border-radius: var(--wrs-radius);
    box-shadow: var(--wrs-shadow);
    padding: 22px 32px;
}

.hv-benefits-grid[b-4zmighd6xa] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.hv-benefit[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    animation: wrsFadeUp 0.5s ease both;
}

    .hv-benefit:nth-child(2)[b-4zmighd6xa] { animation-delay: 0.06s; }
    .hv-benefit:nth-child(3)[b-4zmighd6xa] { animation-delay: 0.12s; }
    .hv-benefit:nth-child(4)[b-4zmighd6xa] { animation-delay: 0.18s; }

.hv-benefit-icon[b-4zmighd6xa] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(28, 86, 215, 0.1);
    color: var(--wrs-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.hv-benefit strong[b-4zmighd6xa] {
    display: block;
    font-size: 0.92rem;
    color: var(--wrs-navy);
}

.hv-benefit span[b-4zmighd6xa] {
    display: block;
    font-size: 0.78rem;
    color: var(--wrs-ink-600);
}

/* ---------- CMA section ---------- */
.hv-cma[b-4zmighd6xa] {
    padding: 72px clamp(24px, 4vw, 64px);
    background: var(--wrs-surface-alt);
}

.hv-cma-inner[b-4zmighd6xa] {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.hv-cma-eyebrow[b-4zmighd6xa] {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wrs-blue);
    margin: 0 0 12px;
}

.hv-cma-copy h2[b-4zmighd6xa] {
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    font-weight: 800;
    color: var(--wrs-navy);
    line-height: 1.2;
    margin: 0 0 16px;
}

.hv-cma-copy p[b-4zmighd6xa] {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--wrs-ink-600);
    margin: 0 0 28px;
}

.hv-cma-benefits[b-4zmighd6xa] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hv-cma-benefits li[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--wrs-ink);
}

.hv-cma-benefits i[b-4zmighd6xa] {
    color: var(--wrs-green);
    font-size: 1.05rem;
}

.hv-cma-card[b-4zmighd6xa] {
    background: var(--wrs-surface);
    border-radius: var(--wrs-radius);
    box-shadow: var(--wrs-shadow-lg);
    padding: 32px;
}

.hv-cma-card-header[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
    color: var(--wrs-navy);
    font-size: 1.05rem;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--wrs-border);
}

.hv-cma-card-header i[b-4zmighd6xa] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(28, 86, 215, 0.1);
    color: var(--wrs-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}

.hv-cma-card-list[b-4zmighd6xa] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hv-cma-card-list li[b-4zmighd6xa] {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--wrs-ink-600);
    font-size: 0.94rem;
}

.hv-cma-card-list i[b-4zmighd6xa] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--wrs-surface-alt);
    color: var(--wrs-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    flex-shrink: 0;
}

/* ---------- Unified How It Works (4 steps) ---------- */
.hv-process[b-4zmighd6xa] {
    padding: 72px clamp(24px, 4vw, 64px);
}

.hv-process-inner[b-4zmighd6xa] {
    max-width: 1280px;
    margin: 0 auto;
}

.hv-process h2[b-4zmighd6xa] {
    text-align: center;
    font-size: clamp(1.7rem, 2.6vw, 2.2rem);
    font-weight: 800;
    color: var(--wrs-navy);
    margin: 0 0 48px;
}

.hv-process-grid[b-4zmighd6xa] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.hv-process-step[b-4zmighd6xa] {
    position: relative;
    background: var(--wrs-surface);
    border: 1px solid var(--wrs-border);
    border-radius: var(--wrs-radius);
    box-shadow: var(--wrs-shadow-sm);
    padding: 28px 24px;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
    animation: wrsFadeUp 0.5s ease both;
}

    .hv-process-step:nth-child(2)[b-4zmighd6xa] { animation-delay: 0.06s; }
    .hv-process-step:nth-child(3)[b-4zmighd6xa] { animation-delay: 0.12s; }
    .hv-process-step:nth-child(4)[b-4zmighd6xa] { animation-delay: 0.18s; }

    .hv-process-step:hover[b-4zmighd6xa] {
        box-shadow: var(--wrs-shadow);
        transform: translateY(-2px);
    }

    .hv-process-step:hover .hv-process-step-icon[b-4zmighd6xa] {
        transform: scale(1.08);
    }

.hv-process-step-icon[b-4zmighd6xa] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(28, 86, 215, 0.1);
    color: var(--wrs-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin: 0 0 16px;
    transition: transform 0.2s ease;
}

.hv-process-step-number[b-4zmighd6xa] {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--wrs-blue);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hv-process-step h3[b-4zmighd6xa] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--wrs-navy);
    margin: 0 0 8px;
}

.hv-process-step p[b-4zmighd6xa] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--wrs-ink-600);
    margin: 0;
}

.hv-process-step-action[b-4zmighd6xa] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    background: none;
    border: none;
    color: var(--wrs-blue);
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    padding: 4px 0;
}

    .hv-process-step-action:hover[b-4zmighd6xa] {
        text-decoration: underline;
    }

    .hv-process-step-action:focus-visible[b-4zmighd6xa] {
        outline: 2px solid var(--wrs-blue);
        outline-offset: 2px;
        border-radius: 4px;
    }

/* ---------- Lead form section ---------- */
.hv-lead[b-4zmighd6xa] {
    padding: 72px clamp(24px, 4vw, 64px);
    background: var(--wrs-surface-alt);
}

.hv-lead-inner[b-4zmighd6xa] {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 64px;
    align-items: start;
}

.hv-lead-intro h2[b-4zmighd6xa] {
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    font-weight: 800;
    color: var(--wrs-navy);
    line-height: 1.2;
    margin: 0 0 16px;
}

.hv-lead-intro p[b-4zmighd6xa] {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--wrs-ink-600);
    margin: 0 0 24px;
}

.hv-lead-intro-list[b-4zmighd6xa] {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hv-lead-intro-list li[b-4zmighd6xa] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--wrs-ink);
}

.hv-lead-intro-list i[b-4zmighd6xa] {
    color: var(--wrs-green);
    font-size: 1.05rem;
    margin-top: 2px;
}

.hv-lead-privacy[b-4zmighd6xa] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 20px;
    background: var(--wrs-surface);
    border: 1px solid var(--wrs-border);
    border-radius: var(--wrs-radius);
}

.hv-lead-privacy i[b-4zmighd6xa] {
    color: var(--wrs-green);
    font-size: 1.2rem;
    margin-top: 2px;
}

.hv-lead-privacy p[b-4zmighd6xa] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--wrs-ink-600);
}

/* ---------- FAQ ---------- */
.hv-faq[b-4zmighd6xa] {
    padding: 72px clamp(24px, 4vw, 64px);
}

.hv-faq-inner[b-4zmighd6xa] {
    max-width: 900px;
    margin: 0 auto;
}

.hv-faq h2[b-4zmighd6xa] {
    text-align: center;
    font-size: clamp(1.7rem, 2.6vw, 2.2rem);
    font-weight: 800;
    color: var(--wrs-navy);
    margin: 0 0 40px;
}

/* ---------- Final CTA (single navy band) ---------- */
.hv-final-cta[b-4zmighd6xa] {
    background: var(--wrs-navy);
    padding: 64px clamp(24px, 4vw, 64px);
    text-align: center;
}

.hv-final-cta-inner[b-4zmighd6xa] {
    max-width: 720px;
    margin: 0 auto;
}

.hv-final-cta h2[b-4zmighd6xa] {
    color: #fff;
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    font-weight: 800;
    margin: 0 0 24px;
}

.hv-final-cta-trust[b-4zmighd6xa] {
    margin: 16px 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.65);
}

.hv-final-cta-trust i[b-4zmighd6xa] {
    margin-right: 4px;
}

/* ---------- Chat FAB deferred visibility -- appears only after scrolling past the hero so it
   never visually competes with the hero's own primary CTA. ---------- */
.hv-chat-fab[b-4zmighd6xa] {
    opacity: 0;
    transform: translateY(12px) scale(0.9);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

    .hv-chat-fab.hv-chat-fab-visible[b-4zmighd6xa] {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .hv-hero-inner[b-4zmighd6xa] {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .hv-hero-copy[b-4zmighd6xa] {
        padding-bottom: 32px;
    }

    .hv-hero-media[b-4zmighd6xa] {
        height: 320px;
    }

    .hv-hero-media-blend[b-4zmighd6xa] {
        background: linear-gradient(to bottom, var(--wrs-surface-alt) 0%, rgba(238, 242, 249, 0) 22%);
    }

    .hv-benefits-card[b-4zmighd6xa] {
        margin-top: -40px;
    }

    .hv-benefits-grid[b-4zmighd6xa] {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .hv-cma-inner[b-4zmighd6xa] {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .hv-process-grid[b-4zmighd6xa] {
        grid-template-columns: repeat(2, 1fr);
    }

    .hv-lead-inner[b-4zmighd6xa] {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 640px) {
    .hv-benefits-grid[b-4zmighd6xa] {
        grid-template-columns: 1fr;
    }

    .hv-process-grid[b-4zmighd6xa] {
        grid-template-columns: 1fr;
    }

    .hv-hero-actions[b-4zmighd6xa] {
        flex-direction: column;
        align-items: stretch;
    }

    .hv-hero-actions .wrs-btn[b-4zmighd6xa] {
        text-align: center;
    }
}
/* /Components/Shared/AiUpgradeCard.razor.rz.scp.css */
/* Compact variant of PremiumFeatureCardContent's visual language, sized to fit inside the 380px
   wr-ai-assistant-panel (see wwwroot/css/app-shell.css's .wr-ai-turn-assistant bubble it sits
   under) rather than a full page-body card. */
.wr-ai-upgrade-card[b-cpu158kjrm] {
    margin-top: 8px;
    max-width: 90%;
    background: var(--wr-surface, #fff);
    border: 1px solid var(--wr-border-strong, #d8dbe1);
    border-radius: var(--wr-radius-md, 12px);
    padding: 14px 16px;
    text-align: left;
}

.wr-ai-upgrade-icon[b-cpu158kjrm] {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: rgba(242, 182, 50, 0.15);
    color: var(--wra-gold-dark, #a97a12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}

.wr-ai-upgrade-card h4[b-cpu158kjrm] {
    margin: 0 0 6px;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--wr-ink-900, #14161a);
}

.wr-ai-upgrade-desc[b-cpu158kjrm] {
    margin: 0 0 10px;
    color: var(--wr-ink-600, #5b6270);
    font-size: 0.82rem;
    line-height: 1.4;
}

.wr-ai-upgrade-benefits[b-cpu158kjrm] {
    list-style: none;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--wr-surface-2, #f2f4f7);
    border-radius: var(--wr-radius-sm, 8px);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wr-ai-upgrade-benefits li[b-cpu158kjrm] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--wr-ink-600, #5b6270);
}

.wr-ai-upgrade-benefits i[b-cpu158kjrm] {
    color: var(--wr-success, #0ca30c);
    margin-top: 0.15em;
    flex: none;
}

.wr-ai-upgrade-actions[b-cpu158kjrm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wr-ai-upgrade-actions .wr-btn[b-cpu158kjrm] {
    width: 100%;
    justify-content: center;
}

.wr-ai-upgrade-continue[b-cpu158kjrm] {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 8px;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 0.76rem;
    color: var(--wr-ink-400, #8b91a0);
    cursor: pointer;
    padding: 4px;
}

.wr-ai-upgrade-continue:hover[b-cpu158kjrm] {
    color: var(--wr-ink-600, #5b6270);
    text-decoration: underline;
}

.wr-ai-upgrade-dismissed[b-cpu158kjrm] {
    margin: 0;
    font-size: 0.82rem;
    color: var(--wr-ink-600, #5b6270);
    display: flex;
    align-items: center;
    gap: 6px;
}

.wr-ai-upgrade-dismissed i[b-cpu158kjrm] {
    color: var(--wr-success, #0ca30c);
}
/* /Components/Shared/CommandDeckHero.razor.rz.scp.css */
/* Same dark abyss gradient/glow recipe as DailyBriefHero.razor.css -- kept as a second, smaller
   scoped file rather than sharing one CSS file across both components, since Blazor's CSS isolation
   scopes each component's rules to only that component's own rendered markup (a shared file can't
   reach across component boundaries here). Extra bottom padding leaves room for a
   .wr-kpi-row-glass row to float up and overlap the seam, mirroring KpiStrip's negative margin-top. */
.wr-cd-hero[b-rrzp8bedgk] {
    position: relative;
    overflow: hidden;
    padding: 1.7rem 1.9rem 3.6rem;
    border-radius: var(--v2-radius-xl, 20px);
    color: #e8ecf5;
    background: linear-gradient(165deg, var(--wr-deck-950, #0a0f1e) 0%, var(--wr-deck-900, #101830) 65%, var(--wr-deck-850, #14204a) 100%);
    box-shadow: var(--v2-glow, 0 24px 70px -20px rgba(74, 58, 167, 0.45));
}

.wr-cd-hero[b-rrzp8bedgk]::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 107, 255, 0.35), transparent 70%);
    top: -220px;
    right: -120px;
    filter: blur(10px);
    pointer-events: none;
}

.wr-cd-hero[b-rrzp8bedgk]::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(62, 123, 250, 0.3), transparent 70%);
    bottom: -160px;
    left: 20%;
    filter: blur(10px);
    pointer-events: none;
}

.wr-cd-hero-top[b-rrzp8bedgk] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
}

.wr-cd-hero-logo[b-rrzp8bedgk] {
    flex: none;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(232, 236, 245, 0.08);
    border: 1px solid rgba(232, 236, 245, 0.14);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: #b39cff;
}

.wr-cd-hero-body[b-rrzp8bedgk] {
    flex: 1;
    min-width: 0;
}

.wr-cd-hero-eyebrow[b-rrzp8bedgk] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wr-ai-2, #b39cff);
    margin-bottom: 0.6rem;
}

.wr-cd-hero-dot[b-rrzp8bedgk] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--wr-success);
    animation: wrCdHeroPulse-b-rrzp8bedgk 1.8s ease-in-out infinite;
}

/* Local keyframe, not a reference to dashboard-v2.css's wrActivityPulse -- that stylesheet is only
   loaded on /dashboard (DashboardV2.razor's own HeadContent link), so a reference to its keyframe
   here would silently no-op (invalid animation-name, dot just stays static) on every page this
   component is actually used on (Admin/Vendor/Brokerage never load dashboard-v2.css). */
@keyframes wrCdHeroPulse-b-rrzp8bedgk {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(12, 163, 12, 0.35); }
    50% { opacity: 0.55; box-shadow: 0 0 0 4px rgba(12, 163, 12, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .wr-cd-hero-dot[b-rrzp8bedgk] {
        animation: none;
    }
}

.wr-cd-hero h1[b-rrzp8bedgk] {
    position: relative;
    font-size: 1.85rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 0.45rem;
    color: #fff;
}

.wr-cd-hero-sub[b-rrzp8bedgk] {
    position: relative;
    color: #c3cbe6;
    font-size: 0.95rem;
    max-width: 62ch;
    margin: 0;
}
/* /Components/Shared/LockedOpportunityPreview.razor.rz.scp.css */
.wr-locked-preview[b-a9y8um9xlg] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* .wr-locked-preview-real deliberately has no CSS rule at all -- this is the actual fix. Real
   cards render exactly as a paid agent would see them; nothing may add filter/opacity/
   pointer-events/user-select back onto this wrapper. */

.wr-locked-preview-upsell[b-a9y8um9xlg] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 1.4rem 1.3rem 1.3rem;
    border-radius: 14px;
    border: 1px solid var(--wr-accent-soft, #eaf1fc);
    background: var(--wr-accent-soft, #eaf1fc);
    overflow: hidden;
}

.wr-locked-preview-upsell[b-a9y8um9xlg]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--wr-ai-gradient, linear-gradient(135deg, #3e7bfa 0%, #8b6bff 100%));
}

.wr-locked-preview-upsell-icon[b-a9y8um9xlg] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--wr-ai, #8b6bff);
    font-size: 1.05rem;
    box-shadow: var(--wr-shadow-sm);
}

.wr-locked-preview-upsell h4[b-a9y8um9xlg] {
    font-size: 1rem;
    margin: 0;
    color: var(--wr-ink-900);
}

.wr-locked-preview-upsell p[b-a9y8um9xlg] {
    font-size: 0.85rem;
    color: var(--wr-ink-600);
    max-width: 42ch;
    margin: 0;
}

.wr-locked-preview-benefits[b-a9y8um9xlg] {
    list-style: none;
    margin: 0.2rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    align-items: flex-start;
}

.wr-locked-preview-benefits li[b-a9y8um9xlg] {
    font-size: 0.8rem;
    color: var(--wr-ink-600);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.wr-locked-preview-benefits li i[b-a9y8um9xlg] {
    color: var(--wr-success, #0ca30c);
    font-size: 0.7rem;
}

.wr-locked-preview-actions[b-a9y8um9xlg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 0.3rem;
}
/* /Components/Shared/PremiumFeatureCardContent.razor.rz.scp.css */
.wr-upgrade-icon[b-5s5uy9ol0p] {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: rgba(242, 182, 50, 0.15);
    color: var(--wra-gold-dark, #a97a12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

h3[b-5s5uy9ol0p] {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

.wr-upgrade-feature[b-5s5uy9ol0p] {
    margin: 0 0 18px;
    color: var(--wr-ink-400);
    font-size: 0.9rem;
}

.wr-upgrade-compare[b-5s5uy9ol0p] {
    list-style: none;
    margin: 0 0 20px;
    padding: 14px 16px;
    background: var(--wr-bg, #f8f9fb);
    border-radius: var(--wr-radius-sm);
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .wr-upgrade-compare li[b-5s5uy9ol0p] {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 0.86rem;
        font-weight: 600;
        color: var(--wr-ink-600);
    }

    .wr-upgrade-compare i[b-5s5uy9ol0p] {
        color: var(--wr-success, #16a34a);
        flex-shrink: 0;
    }

.wr-upgrade-actions[b-5s5uy9ol0p] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ::deep -- the "Maybe later" button is passed in as ChildContent from PremiumFeatureModal, so it
   lives one component boundary away from this file's own scope. */
[b-5s5uy9ol0p] .wr-upgrade-actions .wr-btn {
    width: 100%;
}
/* /Components/Shared/PremiumFeatureModal.razor.rz.scp.css */
/* ---------- Overlay mode ---------- */
.wr-upgrade-overlay[b-ejr8fs3sex] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000;
    animation: wrUpgradeFadeIn-b-ejr8fs3sex 0.15s ease;
}

.wr-upgrade-modal[b-ejr8fs3sex] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg);
    box-shadow: 0 24px 60px rgba(16, 24, 40, 0.35);
    padding: var(--wr-space-5);
    max-width: 440px;
    width: 100%;
    text-align: center;
    animation: wrUpgradeScaleIn-b-ejr8fs3sex 0.2s ease;
}

/* ---------- Inline mode -- a permanent page state, not a floating dialog, so it's a normal-flow
   card sized to read as "this is the page" rather than a small interruption. ---------- */
.wr-premium-page[b-ejr8fs3sex] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg);
    box-shadow: var(--wr-shadow-sm);
    padding: 48px var(--wr-space-5);
    max-width: 560px;
    margin: 32px auto;
    text-align: center;
    animation: wrUpgradeScaleIn-b-ejr8fs3sex 0.2s ease;
}

@keyframes wrUpgradeFadeIn-b-ejr8fs3sex {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes wrUpgradeScaleIn-b-ejr8fs3sex {
    from { opacity: 0; transform: scale(0.96) translateY(6px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .wr-upgrade-overlay[b-ejr8fs3sex], .wr-upgrade-modal[b-ejr8fs3sex], .wr-premium-page[b-ejr8fs3sex] {
        animation-duration: 0.001ms;
    }
}
/* /Components/Shared/ProfileCompletionCard.razor.rz.scp.css */
.wr-profile-score-card[b-owiwqh7so6] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-lg);
    box-shadow: var(--wr-shadow-sm);
    padding: 1.1rem 1.15rem 1.2rem;
}

.wr-profile-score-head[b-owiwqh7so6] {
    margin-bottom: 0.8rem;
}

.wr-profile-score-title[b-owiwqh7so6] {
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--wr-ink-900);
}

.wr-profile-score-ring-wrap[b-owiwqh7so6] {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

/* Same conic-gradient ring technique as OpportunitySpotlight's .wr-opp-score, sized up for a
   standalone rail card instead of a small inline chip. */
.wr-profile-score-ring[b-owiwqh7so6] {
    --score: 0;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(var(--wr-accent, #3e7bfa) calc(var(--score) * 1%), var(--wr-border) 0);
}

.wr-profile-score-ring[b-owiwqh7so6]::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: var(--wr-surface);
}

.wr-profile-score-ring span[b-owiwqh7so6] {
    position: relative;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--wr-ink-900);
    font-family: var(--wr-font-mono);
}

.wr-profile-score-section[b-owiwqh7so6] {
    margin-bottom: 0.8rem;
}

.wr-profile-score-section-label[b-owiwqh7so6] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wr-ink-400);
    margin-bottom: 0.35rem;
}

.wr-profile-score-list[b-owiwqh7so6] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.wr-profile-score-list li[b-owiwqh7so6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--wr-ink-900);
}

.wr-profile-score-list-done i[b-owiwqh7so6] {
    color: var(--wr-success);
    font-size: 0.75rem;
}

.wr-profile-score-list-todo li[b-owiwqh7so6] {
    color: var(--wr-ink-600);
}

.wr-profile-score-list-todo i[b-owiwqh7so6] {
    color: var(--wr-warning, #c98500);
    font-size: 0.4rem;
}

.wr-profile-score-action[b-owiwqh7so6] {
    width: 100%;
    justify-content: center;
    margin-top: 0.4rem;
}
/* /Components/Shared/SectionSkeleton.razor.rz.scp.css */
.wr-section-skeleton[b-mzj12ed91b] {
    background: var(--wr-surface);
    border: 1px solid var(--wr-border);
    border-radius: var(--wr-radius-md);
    padding: 20px;
}

.wr-skeleton-line[b-mzj12ed91b] {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--wr-surface-2) 25%, var(--wr-border) 37%, var(--wr-surface-2) 63%);
    background-size: 400% 100%;
    animation: wr-skeleton-shimmer-b-mzj12ed91b 1.4s ease infinite;
    margin-bottom: 10px;
}

.wr-skeleton-line-title[b-mzj12ed91b] {
    width: 40%;
    height: 16px;
}

.wr-skeleton-line-short[b-mzj12ed91b] {
    width: 60%;
    margin-bottom: 0;
}

.wr-section-skeleton-slow[b-mzj12ed91b],
.wr-section-skeleton-failed[b-mzj12ed91b] {
    text-align: center;
    color: var(--wr-ink-600);
    font-size: 0.85rem;
}

.wr-section-skeleton-failed button[b-mzj12ed91b] {
    margin-top: 10px;
}

@keyframes wr-skeleton-shimmer-b-mzj12ed91b {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wr-skeleton-line[b-mzj12ed91b] {
        animation: none;
    }
}
/* /Components/Shared/Toast.razor.rz.scp.css */
.wr-toast-region[b-smf3mrgjtz] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 900;
    pointer-events: none;
}

.wr-toast[b-smf3mrgjtz] {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 380px;
    padding: 14px 18px;
    border-radius: 10px;
    background: #14294a;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.25);
    animation: wrToastIn-b-smf3mrgjtz 0.2s ease;
}

.wr-toast-success i[b-smf3mrgjtz] {
    color: #4ade80;
}

.wr-toast-error[b-smf3mrgjtz] {
    background: #7f1d1d;
}

.wr-toast-error i[b-smf3mrgjtz] {
    color: #fca5a5;
}

.wr-toast-info i[b-smf3mrgjtz] {
    color: #93c5fd;
}

@keyframes wrToastIn-b-smf3mrgjtz {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wr-toast[b-smf3mrgjtz] {
        animation-duration: 0.001ms;
    }
}
/* /Components/Shared/UsAgentMap.razor.rz.scp.css */
.wr-usmap[b-odxedasqvm] { display: flex; flex-direction: column; gap: 10px; }

/* The instruction that used to be a panel sitting on top of Oregon and Washington. Above the map,
   quiet, and covering nothing. */
.wr-usmap-instruction[b-odxedasqvm] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 0.83rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-usmap-instruction i[b-odxedasqvm] { color: #94a3b8; font-size: 0.8rem; }

.wr-usmap-canvas[b-odxedasqvm] { position: relative; }

.wr-usmap-svg[b-odxedasqvm] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 480px;
}

/* ---------------- States ----------------
   Each is an <a>, so it is keyboard-reachable and ctrl-click works for free. */
.wr-usmap-state[b-odxedasqvm] {
    fill: #e5e9f0;
    stroke: #ffffff;
    stroke-width: 1;
    cursor: pointer;
    outline: none;
    transition: fill .12s ease, stroke .12s ease;
}

.wr-usmap-state.is-empty[b-odxedasqvm] { fill: #e5e9f0; }

.wr-usmap-state:hover[b-odxedasqvm],
.wr-usmap-state.is-active[b-odxedasqvm] {
    stroke: #0f172a;
    stroke-width: 1.6;
}

/* outline does not render usefully on an SVG path, so focus is shown as a heavier stroke. */
.wr-usmap-state:focus-visible[b-odxedasqvm] {
    stroke: #0f172a;
    stroke-width: 2.6;
}

/* ---------------- Labels ----------------
   Non-interactive, so a state stays hoverable and clickable through its own text. */
.wr-usmap-labels[b-odxedasqvm] { pointer-events: none; }

.wr-usmap-label[b-odxedasqvm] { text-anchor: middle; fill: #0f172a; font-family: inherit; }

.wr-usmap-label.on-dark[b-odxedasqvm] { fill: #ffffff; }

/* Deliberately larger and heavier than the count: the abbreviation is what a reader scans for. */
.wr-usmap-code[b-odxedasqvm] {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, .7);
    stroke-width: 2.4px;
    stroke-linejoin: round;
}

.wr-usmap-label.on-dark .wr-usmap-code[b-odxedasqvm] { stroke: rgba(15, 23, 42, .35); }

/* ---------------- Count badges ---------------- */
.wr-usmap-badge[b-odxedasqvm] { fill: #0f172a; opacity: .82; }
.wr-usmap-badge.on-dark[b-odxedasqvm] { fill: #ffffff; opacity: .95; }
.wr-usmap-badge.standalone[b-odxedasqvm] { fill: #2563eb; opacity: 1; }

.wr-usmap-badge-text[b-odxedasqvm] {
    text-anchor: middle;
    font-size: 9px;
    font-weight: 700;
    fill: #ffffff;
    font-family: inherit;
}

/* On a light fill the badge is dark with white text; on a dark fill it inverts, so the number
   always has full contrast against whatever is behind it. */
.wr-usmap-badge.on-dark + .wr-usmap-badge-text[b-odxedasqvm] { fill: #0f172a; }

/* ---------------- Northeast callouts ---------------- */
.wr-usmap-leader[b-odxedasqvm] {
    fill: none;
    stroke: #94a3b8;
    stroke-width: 1;
    stroke-dasharray: 2 2;
}

.wr-usmap-callout[b-odxedasqvm] {
    font-size: 12px;
    font-weight: 700;
    fill: #0f172a;
    font-family: inherit;
}

.wr-usmap-callout-empty[b-odxedasqvm] { font-size: 12px; fill: #94a3b8; font-family: inherit; }

/* ---------------- Hover panel ----------------
   Sits in the empty ocean at the lower right of the widened viewBox: beside the landmass, inside
   the card, never clipped by the viewport, and identical on hover, focus and tap. */
.wr-usmap-detail[b-odxedasqvm] {
    position: absolute;
    right: 0;
    top: 52%;
    width: 30%;
    min-width: 175px;
    padding: 11px 13px;
    border: 1px solid var(--wr-border, #e2e8f0);
    border-radius: 12px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 6px 20px rgba(16, 24, 40, .10);
    pointer-events: none;
    font-size: 0.83rem;
}

.wr-usmap-detail-name[b-odxedasqvm] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--wr-text, #0f172a);
    margin-bottom: 4px;
}

.wr-usmap-detail-row[b-odxedasqvm] { color: var(--wr-text, #334155); line-height: 1.5; }
.wr-usmap-detail-row strong[b-odxedasqvm] { color: #2563eb; }
.wr-usmap-detail-muted[b-odxedasqvm] { color: var(--wr-text-muted, #64748b); font-style: italic; }
.wr-usmap-detail-hint[b-odxedasqvm] { color: var(--wr-text-muted, #94a3b8); line-height: 1.45; }

/* ---------------- Legend ----------------
   Four discrete swatches rather than a gradient bar: the scale has four meaningful bands, and a
   smooth ramp invited readers to interpolate a precise count from a colour they cannot measure. */
.wr-usmap-legend[b-odxedasqvm] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 0.76rem;
    color: var(--wr-text-muted, #64748b);
}

.wr-usmap-legend-item[b-odxedasqvm] { display: inline-flex; align-items: center; gap: 6px; }

.wr-usmap-swatch[b-odxedasqvm] {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    border: 1px solid rgba(15, 23, 42, .08);
}

/* ---------------- Responsive ----------------
   Below tablet the map is physically too small for per-state text: labels, badges and the callout
   column are all dropped, and the panel (updated by tap) carries the information instead. */
@media (max-width: 900px) {
    .wr-usmap-labels[b-odxedasqvm] { display: none; }

    .wr-usmap-detail[b-odxedasqvm] {
        position: static;
        width: auto;
        margin-top: 10px;
    }

    .wr-usmap-svg[b-odxedasqvm] { max-height: none; }
}

/* Tablet keeps the abbreviations but drops the badges, which are the first thing to become
   illegible as the map shrinks. */
@media (min-width: 901px) and (max-width: 1150px) {
    .wr-usmap-badge[b-odxedasqvm],
    .wr-usmap-badge-text[b-odxedasqvm] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .wr-usmap-state[b-odxedasqvm] { transition: none; }
}
