/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-dw9wvg0xjc],
.components-reconnect-repeated-attempt-visible[b-dw9wvg0xjc],
.components-reconnect-failed-visible[b-dw9wvg0xjc],
.components-pause-visible[b-dw9wvg0xjc],
.components-resume-failed-visible[b-dw9wvg0xjc],
.components-rejoining-animation[b-dw9wvg0xjc] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-retrying[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-failed[b-dw9wvg0xjc],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-dw9wvg0xjc] {
    display: block;
}


#components-reconnect-modal[b-dw9wvg0xjc] {
    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-dw9wvg0xjc 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-dw9wvg0xjc 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-dw9wvg0xjc 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-dw9wvg0xjc]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-dw9wvg0xjc 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-dw9wvg0xjc {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-dw9wvg0xjc {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-dw9wvg0xjc {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-dw9wvg0xjc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-dw9wvg0xjc] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-dw9wvg0xjc] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-dw9wvg0xjc] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-dw9wvg0xjc] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-dw9wvg0xjc] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-dw9wvg0xjc] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-dw9wvg0xjc 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-dw9wvg0xjc] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-dw9wvg0xjc {
    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/Sidebar.razor.rz.scp.css */
.signout-form[b-od2qvwijzy] {
    margin: 0;
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
.topbar-title[b-zkvnlazmky] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Total-count chip next to the page title — mirrors the left-nav badges. */
.topbar-count[b-zkvnlazmky] {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: var(--rcn-fg-1);
    background: rgba(17, 20, 17, 0.10);
    padding: 4px 9px;
    border-radius: 9999px;
    min-width: 22px;
    text-align: center;
}
/* /Components/Pages/Account/ForgotPassword.razor.rz.scp.css */
.auth-shell[b-w6y0wuu77k] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcn-bg);
    padding: 24px;
}

.auth-card[b-w6y0wuu77k] {
    width: 100%;
    max-width: 420px;
}

.auth-card-body[b-w6y0wuu77k] {
    padding: 32px;
}

.brand-icon[b-w6y0wuu77k] {
    height: 40px;
    width: 40px;
    margin-bottom: 16px;
}

.recovery-heading[b-w6y0wuu77k] {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 8px;
}

.recovery-heading-form[b-w6y0wuu77k] {
    font-size: 22px;
    font-weight: 600;
    margin: 6px 0 8px;
}

.recovery-lead[b-w6y0wuu77k] {
    margin-bottom: 20px;
    color: var(--rcn-fg-2);
}

.recovery-lead-tight[b-w6y0wuu77k] {
    color: var(--rcn-fg-2);
}

.btn-full[b-w6y0wuu77k] {
    width: 100%;
}

.back-link[b-w6y0wuu77k] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-blue-500);
    text-decoration: none;
    text-align: center;
}
/* /Components/Pages/Account/SetPassword.razor.rz.scp.css */
.auth-page[b-m0bz3ft3tf] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcn-bg);
    padding: 24px;
}

.auth-card[b-m0bz3ft3tf] {
    width: 100%;
    max-width: 420px;
}

.auth-card-body[b-m0bz3ft3tf] {
    padding: 32px;
}

.auth-brand-icon[b-m0bz3ft3tf] {
    height: 40px;
    width: 40px;
    margin-bottom: 16px;
}

.auth-title[b-m0bz3ft3tf] {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 8px;
}

.auth-title-welcome[b-m0bz3ft3tf] {
    font-size: 22px;
    font-weight: 600;
    margin: 6px 0 8px;
}

.auth-lead[b-m0bz3ft3tf] {
    margin-bottom: 20px;
    color: var(--rcn-fg-2);
}

.auth-lead-plain[b-m0bz3ft3tf] {
    color: var(--rcn-fg-2);
}

.auth-error-row[b-m0bz3ft3tf] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.btn-full[b-m0bz3ft3tf] {
    width: 100%;
}
/* /Components/Pages/Account/Settings.razor.rz.scp.css */
.settings-grid[b-o5fvlsgjfn] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: start;
}

.settings-tabs[b-o5fvlsgjfn] {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.settings-tab[b-o5fvlsgjfn] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--rcn-fg-2);
    text-align: left;
    width: 100%;
    transition: all 150ms var(--rcn-ease-standard);
}

.settings-tab:hover[b-o5fvlsgjfn] {
    background: rgba(17, 20, 17, 0.04);
    color: var(--rcn-fg-1);
}

.settings-tab.active[b-o5fvlsgjfn] {
    background: var(--rcn-bg-tinted);
    color: var(--rcn-brand);
    font-weight: 600;
}

.profile-row[b-o5fvlsgjfn] {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--rcn-border);
    font-size: 14px;
}

.profile-row:last-of-type[b-o5fvlsgjfn] {
    border-bottom: 0;
}

.profile-label[b-o5fvlsgjfn] {
    font-weight: 600;
    color: var(--rcn-fg-2);
}

.notice[b-o5fvlsgjfn] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 18px;
}

.notice-x[b-o5fvlsgjfn] {
    margin-left: auto;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: inherit;
    display: inline-flex;
}

.settings-row[b-o5fvlsgjfn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--rcn-border);
    font-size: 14px;
}

.settings-row:last-of-type[b-o5fvlsgjfn] {
    border-bottom: 0;
}

.label-block .title[b-o5fvlsgjfn] {
    font-weight: 600;
    color: var(--rcn-fg-1);
    font-size: 14px;
}

.label-block .desc[b-o5fvlsgjfn] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 2px;
    max-width: 460px;
    line-height: 1.45;
}

.settings-code[b-o5fvlsgjfn] {
    font-family: var(--rcn-font-mono);
    font-size: 13px;
    background: var(--rcn-sand-100, rgba(17, 20, 17, 0.05));
    padding: 4px 10px;
    border-radius: 6px;
    color: var(--rcn-fg-2);
}

.settings-control[b-o5fvlsgjfn] {
    min-width: 300px;
    max-width: 360px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settings-control .input[b-o5fvlsgjfn] {
    width: 100%;
}

.day-pills[b-o5fvlsgjfn] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.day-pill[b-o5fvlsgjfn] {
    min-width: 48px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(17, 20, 17, 0.12);
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    color: var(--rcn-fg-3);
    cursor: pointer;
    transition: all 120ms var(--rcn-ease-standard);
}

.day-pill:hover[b-o5fvlsgjfn] {
    border-color: rgba(17, 20, 17, 0.22);
}

.day-pill.on[b-o5fvlsgjfn] {
    background: rgba(38, 207, 123, 0.12);
    border-color: var(--rcn-brand-green);
    color: #137548;
}

.settings-check[b-o5fvlsgjfn] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-2);
    cursor: pointer;
}

@media (max-width: 820px) {
    .settings-grid[b-o5fvlsgjfn] {
        grid-template-columns: 1fr;
    }

    .settings-tabs[b-o5fvlsgjfn] {
        position: static;
        flex-direction: row;
    }
}

/* One-off layout helpers for this component (shared styles live in host.css). */
.card-spaced[b-o5fvlsgjfn] {
    margin-top: 18px;
}

.form-actions-end[b-o5fvlsgjfn] {
    display: flex;
    justify-content: flex-end;
    padding-top: 18px;
}

.password-form[b-o5fvlsgjfn] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 420px;
}

.hint-tight[b-o5fvlsgjfn] {
    margin-bottom: 8px;
}

.hint-loose[b-o5fvlsgjfn] {
    margin-bottom: 14px;
}

.window-row[b-o5fvlsgjfn] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.select-auto[b-o5fvlsgjfn] {
    width: auto;
}

.muted-inline[b-o5fvlsgjfn] {
    color: var(--rcn-fg-3);
}

.policy-foot[b-o5fvlsgjfn] {
    padding: 14px 0 0;
    border: 0;
    justify-content: flex-end;
}

.stack-12[b-o5fvlsgjfn] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.role-legend[b-o5fvlsgjfn] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    line-height: 1.5;
}

.user-toolbar[b-o5fvlsgjfn] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.search-grow[b-o5fvlsgjfn] {
    flex: 1;
    min-width: 220px;
}

.select-180[b-o5fvlsgjfn] {
    width: 180px;
}

.table-empty[b-o5fvlsgjfn] {
    text-align: center;
    padding: 40px 0;
    color: var(--rcn-fg-3);
}

.suppress-form-row[b-o5fvlsgjfn] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.field-grow[b-o5fvlsgjfn] {
    flex: 1;
    min-width: 240px;
}

.field-grow-sm[b-o5fvlsgjfn] {
    flex: 1;
    min-width: 200px;
}

.field-170[b-o5fvlsgjfn] {
    width: 170px;
}

.note-sub[b-o5fvlsgjfn] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 2px;
}

.error-inline[b-o5fvlsgjfn] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.modal-420[b-o5fvlsgjfn] {
    max-width: 420px;
}

/* Sign-in method: keep the three-option selector on the right (like Team visibility); wrap if space is tight. */
.seg-signin[b-o5fvlsgjfn] {
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-shrink: 0;
}

/* Cadence CC/BCC chip fields (Send-time intelligence tab). */
.cc-field[b-o5fvlsgjfn] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.cc-field-tag[b-o5fvlsgjfn] {
    flex: 0 0 32px;
    font-size: 11px;
    font-weight: 700;
    color: var(--rcn-fg-3);
    padding-top: 9px;
}

.cc-field .recipient-multi[b-o5fvlsgjfn] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    border: 1px solid var(--rcn-border);
    border-radius: 8px;
    padding: 6px 8px;
    background: #fff;
    min-height: 38px;
}

.cc-field .recipient-input[b-o5fvlsgjfn] {
    flex: 1;
    min-width: 150px;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 13px;
    color: var(--rcn-fg-1);
}

/* Inline explanatory / warning note under a settings control (e.g. sign-in method). */
.settings-note[b-o5fvlsgjfn] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--rcn-bg-tinted);
    color: var(--rcn-fg-2);
    font-size: 12.5px;
    line-height: 1.45;
}

.settings-note code[b-o5fvlsgjfn] {
    font-family: var(--rcn-font-mono);
    background: rgba(17, 20, 17, 0.06);
    padding: 1px 6px;
    border-radius: 5px;
}

.settings-note.note-warn[b-o5fvlsgjfn] {
    background: rgba(230, 162, 60, 0.12);
    color: #9a6a12;
}
/* /Components/Pages/Activity/Activity.razor.rz.scp.css */
.loading-state[b-3jjtkxkhy8] {
    padding: 40px;
    text-align: center;
    color: var(--rcn-fg-3);
}
/* /Components/Pages/Appointments/Appointments.razor.rz.scp.css */
/* Prospect search results in the Book-a-meeting modal. (The design-system .task-contact-*
   styles live in the Tasks component's scoped CSS, so they don't reach this page.) */
.contact-matches[b-tmfadv8pd3] {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 10px;
    padding: 4px;
    background: #fff;
}

.contact-match[b-tmfadv8pd3] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
}

.contact-match:hover[b-tmfadv8pd3] {
    background: var(--rcn-sand-50);
}

.contact-match-text[b-tmfadv8pd3] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.contact-match .name[b-tmfadv8pd3] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.contact-match .email[b-tmfadv8pd3] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Two-column form rows inside the booking / reschedule modals. */
.row-14[b-tmfadv8pd3] {
    display: flex;
    gap: 14px;
}

/* Fixed-width duration selector columns. */
.field-w-150[b-tmfadv8pd3] {
    width: 150px;
}

.field-w-140[b-tmfadv8pd3] {
    width: 140px;
}

/* "Book a meeting" call-to-action spacing in the empty state. */
.btn-spaced-top[b-tmfadv8pd3] {
    margin-top: 14px;
}

/* Meeting-link accent text on appointment cards. */
.link-accent[b-tmfadv8pd3] {
    color: var(--rcn-blue-500);
}

/* "Email the prospect a confirmation" checkbox row. */
.invite-toggle[b-tmfadv8pd3] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--rcn-fg-2);
    cursor: pointer;
}

/* Reschedule modal summary line. */
.reschedule-summary[b-tmfadv8pd3] {
    font-size: 13px;
    color: var(--rcn-fg-2);
    margin: 0;
}
/* /Components/Pages/Appointments/PublicBooking.razor.rz.scp.css */
.confirmed-icon-error[b-no3sxj1z5q] {
    background: rgba(243, 18, 96, .1);
    color: #A8013F;
}

.title-tight[b-no3sxj1z5q] {
    margin-bottom: 8px;
}

.rep-avatar-lg[b-no3sxj1z5q] {
    width: 64px;
    height: 64px;
    font-size: 22px;
}

.conflict-spaced[b-no3sxj1z5q] {
    margin-bottom: 14px;
}

.field-label-optional[b-no3sxj1z5q] {
    font-weight: 400;
    color: var(--rcn-fg-3);
    text-transform: none;
    letter-spacing: 0;
}

.reschedule-note[b-no3sxj1z5q] {
    margin-top: 28px;
    font-size: 12px;
    color: var(--rcn-fg-3);
    text-align: center;
}
/* /Components/Pages/Campaigns/CampaignDetail.razor.rz.scp.css */
.camp-head[b-cu3mupxdrz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.camp-head-meta[b-cu3mupxdrz],
.camp-head-actions[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.camp-chip[b-cu3mupxdrz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-2);
    background: rgba(17, 20, 17, 0.04);
    padding: 4px 10px;
    border-radius: 9999px;
}

.camp-about[b-cu3mupxdrz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--rcn-sand-50);
    border: 1px solid var(--rcn-border);
    border-radius: 10px;
    padding: 12px 18px;
    margin-bottom: 18px;
}

.camp-about-label[b-cu3mupxdrz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rcn-brand-green);
}

.camp-about-text[b-cu3mupxdrz] {
    font-size: 13.5px;
    color: var(--rcn-fg-2);
    line-height: 1.65;
    margin: 0;
}

.cell-actions[b-cu3mupxdrz] {
    text-align: right;
    width: 1%;
    white-space: nowrap;
}

/* Performance rollup tiles. */
.camp-stats[b-cu3mupxdrz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.camp-stat[b-cu3mupxdrz] {
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 12px;
    padding: 14px 16px;
}

.camp-stat-accent[b-cu3mupxdrz] {
    border-color: rgba(38, 207, 123, 0.35);
    background: rgba(38, 207, 123, 0.04);
}

.camp-stat-val[b-cu3mupxdrz] {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--rcn-fg-1);
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.camp-stat-rate[b-cu3mupxdrz] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-brand-green);
}

.camp-stat-lbl[b-cu3mupxdrz] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 4px;
}

.camp-group-meta[b-cu3mupxdrz] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.camp-group-replied[b-cu3mupxdrz] {
    font-weight: 600;
    color: var(--rcn-brand-green);
    letter-spacing: 0;
}

/* Contact cell (avatar + name) in the full-width audience table — mirrors the Contacts grid. */
.camp-contact-cell[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* The audience row's contact is a link through to that contact's profile. */
.camp-contact-link[b-cu3mupxdrz] {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    width: fit-content;
}

.camp-contact-link:hover .camp-row-name[b-cu3mupxdrz] {
    color: var(--rcn-brand-green);
    text-decoration: underline;
}

/* Toolbar at the top of the Sequences modal body. */
.seq-modal-toolbar[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.camp-group + .camp-group[b-cu3mupxdrz] {
    margin-top: 10px;
}

.camp-group-head[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--rcn-fg-3);
    border-bottom: 1px solid rgba(17, 20, 17, 0.08);
}

.camp-group-count[b-cu3mupxdrz] {
    font-weight: 600;
    color: var(--rcn-fg-2);
    background: rgba(17, 20, 17, 0.06);
    padding: 1px 7px;
    border-radius: 9999px;
    letter-spacing: 0;
}

.camp-row[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(17, 20, 17, 0.06);
}

.camp-row:last-child[b-cu3mupxdrz] {
    border-bottom: none;
}

.camp-group .camp-row:last-child[b-cu3mupxdrz] {
    border-bottom: none;
}

.camp-row-main[b-cu3mupxdrz] {
    flex: 1;
    min-width: 0;
}

.camp-row-name[b-cu3mupxdrz] {
    font-size: 14px;
    font-weight: 600;
    color: var(--rcn-fg-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.camp-row-sub[b-cu3mupxdrz] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* "Next sequence" cell in the audience table: green when a step is scheduled, red when stopped, muted otherwise. */
.camp-next-on[b-cu3mupxdrz],
.camp-next-off[b-cu3mupxdrz],
.camp-next-idle[b-cu3mupxdrz] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

.camp-next-on[b-cu3mupxdrz] {
    color: var(--rcn-brand-green, #137548);
}

.camp-next-off[b-cu3mupxdrz] {
    color: var(--rcn-danger, #c0392b);
}

.camp-next-idle[b-cu3mupxdrz] {
    color: var(--rcn-fg-3);
}

.camp-empty[b-cu3mupxdrz] {
    padding: 24px 4px;
    text-align: center;
    color: var(--rcn-fg-3);
    font-size: 13px;
    line-height: 1.5;
}

.camp-hint[b-cu3mupxdrz] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    background: rgba(17, 20, 17, 0.03);
    padding: 10px 12px;
    border-radius: 8px;
    line-height: 1.5;
}

.camp-count[b-cu3mupxdrz] {
    font-size: 12px;
    font-weight: 600;
    color: var(--rcn-fg-2);
    background: rgba(17, 20, 17, 0.06);
    padding: 1px 8px;
    border-radius: 9999px;
    margin-left: 4px;
}

.camp-picker-list[b-cu3mupxdrz] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 360px;
    overflow-y: auto;
}

.camp-picker-row[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color 140ms var(--rcn-ease-standard);
}

.camp-picker-row:hover[b-cu3mupxdrz] {
    border-color: var(--rcn-brand-green);
}

.camp-search[b-cu3mupxdrz] {
    position: relative;
}

.camp-search .input[b-cu3mupxdrz] {
    padding-left: 36px;
    width: 100%;
}

.camp-search-ic[b-cu3mupxdrz] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    color: var(--rcn-fg-3);
}

.camp-matches[b-cu3mupxdrz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
    max-height: 240px;
    overflow-y: auto;
}

.camp-match[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    padding: 8px 10px;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
}

.camp-match:hover[b-cu3mupxdrz] {
    background: rgba(17, 20, 17, 0.04);
}

/* A contact that can't be added right now — shown greyed with the reason, not selectable. */
.camp-match-off[b-cu3mupxdrz] {
    opacity: 0.6;
    cursor: default;
}

.camp-match-off:hover[b-cu3mupxdrz] {
    background: transparent;
}

.camp-match-reason[b-cu3mupxdrz] {
    flex-shrink: 0;
    font-size: 11px;
    color: var(--rcn-fg-3);
    white-space: nowrap;
}

/* A positive note on an addable contact (e.g. "Already running this campaign"). */
.camp-match-note[b-cu3mupxdrz] {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    color: var(--rcn-brand-green);
    white-space: nowrap;
}

.camp-chips[b-cu3mupxdrz] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.camp-selchip[b-cu3mupxdrz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-1);
    background: rgba(38, 207, 123, 0.12);
    padding: 4px 6px 4px 10px;
    border-radius: 9999px;
}

.camp-selchip button[b-cu3mupxdrz] {
    border: none;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: var(--rcn-fg-3);
    padding: 0;
}

.camp-selchip button:hover[b-cu3mupxdrz] {
    color: var(--rcn-danger);
}

/* Icon-only remove (X) buttons in the Sequences/Audience lists — red to signal the destructive action. */
.camp-remove[b-cu3mupxdrz] {
    color: var(--rcn-danger);
}

.camp-remove:hover[b-cu3mupxdrz] {
    color: var(--rcn-danger);
    background: rgba(243, 18, 96, 0.10);
}

/* Handover recipient checklist inside the Edit modal. */
.camp-recipient-list[b-cu3mupxdrz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 6px;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 10px;
    padding: 4px;
    max-height: 220px;
    overflow-y: auto;
}

.checkbox-row[b-cu3mupxdrz] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 7px;
    cursor: pointer;
    user-select: none;
    transition: background 120ms ease;
}

.checkbox-row input[type="checkbox"][b-cu3mupxdrz] {
    accent-color: var(--rcn-brand-green);
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    cursor: pointer;
}

.checkbox-row:hover[b-cu3mupxdrz] {
    background: rgba(17, 20, 17, 0.04);
}

.checkbox-row:has(input:checked)[b-cu3mupxdrz] {
    background: rgba(38, 207, 123, 0.08);
}

.checkbox-row-label[b-cu3mupxdrz] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcn-fg-1);
    line-height: 1.3;
    min-width: 0;
}

/* "Handed over dd Mon yyyy" stamp that replaces the hand-over button after action. */
.camp-handover-stamp[b-cu3mupxdrz] {
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-brand-green);
    white-space: nowrap;
}
/* /Components/Pages/Campaigns/Campaigns.razor.rz.scp.css */
/* Campaign cards. These class names are component-scoped, so (unlike the global
   .card) they only style this page — mirroring the Sequences card treatment with
   a campaign-specific header that pairs the status pill with a goal chip. */
.camp-grid[b-urmurdpp03] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

/* Drop to a single column when two cards can no longer fit comfortably. */
@media (max-width: 720px) {
    .camp-grid[b-urmurdpp03] {
        grid-template-columns: 1fr;
    }
}

.camp-card[b-urmurdpp03] {
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 0 5px 0 rgb(0 0 0 / 0.02), 0 2px 10px 0 rgb(0 0 0 / 0.05);
    transition: border-color 160ms var(--rcn-ease-standard), box-shadow 160ms var(--rcn-ease-standard), transform 160ms var(--rcn-ease-standard);
}

.camp-card:hover[b-urmurdpp03] {
    border-color: var(--rcn-brand-green);
    transform: translateY(-1px);
    box-shadow: 0 0 5px 0 rgb(0 0 0 / 0.03), 0 8px 18px -6px rgb(0 0 0 / 0.10);
}

/* Inline helper text under a form field (e.g. the audience-mode explanation). */
.field-hint[b-urmurdpp03] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 2px;
    line-height: 1.45;
}

.camp-card-head[b-urmurdpp03] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.camp-card-name[b-urmurdpp03] {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.3;
    color: var(--rcn-fg-1);
}

.camp-card-desc[b-urmurdpp03] {
    font-size: 13px;
    color: var(--rcn-fg-2);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Foot row of the card — audience size and reply rate. */
.camp-card-foot[b-urmurdpp03] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 4px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.camp-card-foot span[b-urmurdpp03] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* Goal chip — sits opposite the status pill in the card header. */
.camp-goal[b-urmurdpp03] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-2);
    background: rgba(17, 20, 17, 0.04);
    padding: 3px 9px 3px 7px;
    border-radius: 9999px;
    white-space: nowrap;
}
/* /Components/Pages/Contacts/ContactDetail.razor.rz.scp.css */
.cd-layout[b-97ji299lfk] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 16px;
    align-items: start;
    margin-top: 16px;
}

/* Activity card header with a quick link through to the full Activity feed. */
.cd-activity-head[b-97ji299lfk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cd-viewall[b-97ji299lfk] {
    font-size: 13px;
    font-weight: 500;
    color: var(--rcn-accent, #1f9d63);
    text-decoration: none;
}

.cd-viewall:hover[b-97ji299lfk] {
    text-decoration: underline;
}

.cd-rail[b-97ji299lfk],
.cd-main[b-97ji299lfk] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.cd-channel[b-97ji299lfk] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid var(--rcn-border);
    font-size: 14px;
}

.cd-channel:last-child[b-97ji299lfk] {
    border-bottom: 0;
}

.cd-channel-ic[b-97ji299lfk] {
    display: inline-flex;
    flex: 0 0 auto;
    color: var(--rcn-fg-3);
}

.cd-channel-v[b-97ji299lfk] {
    color: var(--rcn-fg-1);
    word-break: break-word;
    min-width: 0;
}

a.cd-channel-v[b-97ji299lfk] {
    color: var(--rcn-brand-green);
    text-decoration: none;
}

a.cd-channel-v:hover[b-97ji299lfk] {
    text-decoration: underline;
}

.cd-fact[b-97ji299lfk] {
    display: grid;
    grid-template-columns: 124px 1fr;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--rcn-border);
    font-size: 14px;
}

.cd-fact:last-child[b-97ji299lfk] {
    border-bottom: 0;
}

.cd-fact-k[b-97ji299lfk] {
    color: var(--rcn-fg-3);
}

.cd-fact-v[b-97ji299lfk] {
    color: var(--rcn-fg-1);
    word-break: break-word;
}

/* Engagement panel */
.cd-stats[b-97ji299lfk] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.cd-stat[b-97ji299lfk] {
    text-align: center;
    padding: 12px 6px;
    background: var(--rcn-sand-100);
    border-radius: 10px;
}

.cd-stat-v[b-97ji299lfk] {
    font-size: 22px;
    font-weight: 600;
    color: var(--rcn-fg-1);
    line-height: 1.1;
}

.cd-stat-k[b-97ji299lfk] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 3px;
}

/* Campaign membership (current + history) — no box; a divider separates multiple. */
.cd-campaign[b-97ji299lfk] {
    padding: 2px 0;
}

.cd-campaign + .cd-campaign[b-97ji299lfk] {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--rcn-border);
}

.cd-campaign-top[b-97ji299lfk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cd-campaign-name[b-97ji299lfk] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--rcn-brand-green);
    text-decoration: none;
}

.cd-campaign-name:hover[b-97ji299lfk] {
    text-decoration: underline;
}

.cd-campaign-sub[b-97ji299lfk] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 13px;
    color: var(--rcn-fg-3);
}

.cd-timeline[b-97ji299lfk] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cd-tl-item[b-97ji299lfk] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--rcn-border);
}

.cd-tl-item:last-child[b-97ji299lfk] {
    border-bottom: 0;
}

.cd-tl-ic[b-97ji299lfk] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rcn-sand-100);
    color: var(--rcn-fg-2);
    margin-top: 1px;
}

.cd-tl-body[b-97ji299lfk] {
    flex: 1 1 auto;
    min-width: 0;
}

.cd-tl-title[b-97ji299lfk] {
    font-size: 14px;
    color: var(--rcn-fg-1);
    word-break: break-word;
}

.cd-tl-detail[b-97ji299lfk] {
    font-size: 13px;
    color: var(--rcn-fg-3);
    margin-top: 1px;
    word-break: break-word;
}

.cd-tl-time[b-97ji299lfk] {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--rcn-fg-3);
    white-space: nowrap;
}

.cd-empty[b-97ji299lfk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 28px 12px;
    color: var(--rcn-fg-3);
    text-align: center;
}

.cd-empty p[b-97ji299lfk] {
    margin: 0;
    font-size: 14px;
}

.cd-muted[b-97ji299lfk] {
    color: var(--rcn-fg-3);
    font-size: 14px;
}

@media (max-width: 980px) {
    .cd-layout[b-97ji299lfk] {
        grid-template-columns: 1fr;
    }
}

.card-spaced[b-97ji299lfk] {
    margin-top: 16px;
}

/* Per-contact sequence progress — a vertical rail of cadence steps: one icon "marker" per step, joined by a
   connector line, with the step's detail to the right. Roomy spacing so a long cadence doesn't read as a wall. */
.cd-seq[b-97ji299lfk] {
    list-style: none;
    margin: 14px 0 2px;
    padding: 0;
}

.cd-seq-step[b-97ji299lfk] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 20px;
    position: relative;
}

.cd-seq-step:last-child[b-97ji299lfk] {
    padding-bottom: 2px;
}

/* Continuous connector line behind the markers. The marker sits at the top of each step and the next step's
   marker starts exactly at this step's box bottom, so top-of-marker → box-bottom joins them seamlessly. */
.cd-seq-step:not(:last-child)[b-97ji299lfk]::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 32px;
    bottom: 0;
    width: 2px;
    background: var(--rcn-border, rgba(17, 20, 17, 0.12));
    z-index: 0;
}

/* The step marker (its type icon) doubles as the rail node — a ring keeps the line from touching it. */
.cd-seq-ic[b-97ji299lfk] {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rcn-sand-100);
    color: var(--rcn-fg-3);
    box-shadow: 0 0 0 3px var(--rcn-surface, #fff);
    position: relative;
    z-index: 1;
}

.cd-seq-step.done .cd-seq-ic[b-97ji299lfk] {
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
}

.cd-seq-step.current .cd-seq-ic[b-97ji299lfk] {
    background: var(--rcn-brand-green);
    color: #fff;
    box-shadow: 0 0 0 3px var(--rcn-surface, #fff), 0 0 0 5px rgba(38, 207, 123, 0.25);
}

/* Upcoming and stopped steps read as pending — muted so the eye lands on what's happened/next. */
.cd-seq-step.upcoming[b-97ji299lfk],
.cd-seq-step.stopped[b-97ji299lfk] {
    opacity: 0.55;
}

/* The text column, nudged down so it sits level with the marker. Raised above the connector line so its
   links are always clickable (the line is a positioned pseudo-element that would otherwise capture clicks). */
.cd-seq-step .flex-min[b-97ji299lfk] {
    padding-top: 4px;
    position: relative;
    z-index: 1;
}

.cd-seq-title[b-97ji299lfk] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--rcn-fg-1);
    word-break: break-word;
}

/* The whole step title is the link when the step produced an email/task — a big, obvious click target. The
   trailing ↗ icon uses currentColor, so it follows the link colour (and hover) automatically. */
.cd-seq-titlelink[b-97ji299lfk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--rcn-fg-1);
    text-decoration: none;
}

.cd-seq-titlelink:hover[b-97ji299lfk] {
    color: var(--rcn-brand-green);
    text-decoration: underline;
}

.cd-seq-detail[b-97ji299lfk] {
    font-size: 12.5px;
    color: var(--rcn-fg-3);
    margin-top: 2px;
    word-break: break-word;
}

.cd-seq-when[b-97ji299lfk] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.cd-seq-step .pill[b-97ji299lfk] {
    flex: 0 0 auto;
    margin-top: 5px;
}

.cd-seq-end .cd-seq-title[b-97ji299lfk] {
    color: var(--rcn-fg-3);
    font-weight: 500;
}

.contact-hero[b-97ji299lfk] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.contact-name[b-97ji299lfk] {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
}

.contact-subtitle[b-97ji299lfk] {
    color: var(--rcn-fg-3);
    font-size: 14px;
}

.contact-status-pill[b-97ji299lfk] {
    margin-top: 6px;
    align-self: flex-start;
}

.tags-spaced[b-97ji299lfk] {
    margin-bottom: 14px;
}

.contact-notes[b-97ji299lfk] {
    font-size: 14px;
    line-height: 1.65;
    color: var(--rcn-fg-2);
    white-space: pre-wrap;
    margin: 0;
}

.modal-confirm[b-97ji299lfk] {
    max-width: 420px;
}
/* /Components/Pages/Contacts/ContactEditor.razor.rz.scp.css */
.form-grid[b-2kbxwlemhp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.form-grid .full[b-2kbxwlemhp] {
    grid-column: 1 / -1;
}

.section-eyebrow[b-2kbxwlemhp] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rcn-fg-3);
    margin: 20px 0 10px;
}

.section-eyebrow:first-child[b-2kbxwlemhp] {
    margin-top: 0;
}

.modal-contact[b-2kbxwlemhp] {
    max-width: 640px;
}

.form-error[b-2kbxwlemhp] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.label-hint[b-2kbxwlemhp] {
    color: var(--rcn-fg-3);
    font-weight: 400;
}

/* ── Tag chip input ─────────────────────────────────────────── */
.tag-input-wrap[b-2kbxwlemhp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 42px;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.16);
    border-radius: 8px;
    cursor: text;
    transition: border-color 150ms, box-shadow 150ms;
}

.tag-input-wrap:focus-within[b-2kbxwlemhp] {
    border-color: var(--rcn-brand-green);
    box-shadow: 0 0 0 3px rgba(38, 207, 123, 0.16);
}

.tag-chip[b-2kbxwlemhp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px 2px 9px;
    background: rgba(38, 207, 123, 0.12);
    border: 1px solid rgba(38, 207, 123, 0.30);
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-1);
    white-space: nowrap;
}

.tag-chip-x[b-2kbxwlemhp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 1px;
    cursor: pointer;
    color: var(--rcn-fg-3);
    border-radius: 9999px;
    line-height: 1;
}

.tag-chip-x:hover[b-2kbxwlemhp] {
    color: var(--rcn-danger);
    background: rgba(243, 18, 96, 0.10);
}

.tag-input-inner[b-2kbxwlemhp] {
    position: relative;
    flex: 1;
    min-width: 120px;
}

.tag-input-field[b-2kbxwlemhp] {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--rcn-fg-1);
    padding: 2px 0;
    line-height: 1.5;
}

.tag-input-field[b-2kbxwlemhp]::placeholder {
    color: rgba(17, 20, 17, 0.32);
}

.tag-suggestions[b-2kbxwlemhp] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.12);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(17, 20, 17, 0.10);
    overflow: hidden;
    z-index: 200;
    padding: 4px;
}

.tag-sug-item[b-2kbxwlemhp] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 7px 10px;
    font-size: 13px;
    color: var(--rcn-fg-1);
    background: transparent;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    text-align: left;
}

.tag-sug-item:hover[b-2kbxwlemhp] {
    background: rgba(38, 207, 123, 0.08);
    color: var(--rcn-fg-1);
}
/* /Components/Pages/Contacts/ContactImport.razor.rz.scp.css */
/* Two numbered steps: download the template, then upload the filled-in file. */
.import-steps[b-p45cjcaq3s] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 4px;
}

.import-step[b-p45cjcaq3s] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.import-step-num[b-p45cjcaq3s] {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rcn-brand-green);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    margin-top: 2px;
}

.import-step-body[b-p45cjcaq3s] {
    flex: 1;
    min-width: 0;
}

.import-step-title[b-p45cjcaq3s] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
    margin-bottom: 8px;
}

/* Highlighted "download template" card. */
.import-template[b-p45cjcaq3s] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--rcn-border);
    border-radius: 12px;
    background: var(--rcn-bg-tinted);
}

.import-template-ic[b-p45cjcaq3s] {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    color: var(--rcn-brand-green);
    border: 1px solid var(--rcn-border);
}

.import-template-body[b-p45cjcaq3s] {
    flex: 1;
    min-width: 0;
}

.import-template-title[b-p45cjcaq3s] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.import-template-sub[b-p45cjcaq3s] {
    font-size: 12.5px;
    color: var(--rcn-fg-2);
    line-height: 1.5;
    margin-top: 2px;
}

.import-template-btn[b-p45cjcaq3s] {
    flex-shrink: 0;
    white-space: nowrap;
}

.import-note[b-p45cjcaq3s] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin: 8px 0 0;
}

.import-drop[b-p45cjcaq3s] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    border: 1.5px dashed var(--rcn-border);
    border-radius: 10px;
    color: var(--rcn-fg-2);
    background: var(--rcn-sand-50);
}

.import-drop input[type=file][b-p45cjcaq3s] {
    font-size: 13px;
    color: var(--rcn-fg-2);
}

.import-summary[b-p45cjcaq3s] {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.import-stat[b-p45cjcaq3s] {
    flex: 1;
    padding: 14px;
    border-radius: 10px;
    background: var(--rcn-sand-50);
    border: 1px solid var(--rcn-border);
    font-size: 13px;
    color: var(--rcn-fg-2);
    text-align: center;
}

.import-stat .n[b-p45cjcaq3s] {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--rcn-fg-1);
    line-height: 1.2;
}

.import-stat.ok .n[b-p45cjcaq3s] {
    color: #137548;
}

.import-stat.bad .n[b-p45cjcaq3s] {
    color: var(--rcn-danger);
}

.import-errors[b-p45cjcaq3s] {
    margin: 0;
    padding: 12px 14px 12px 28px;
    background: rgba(243, 18, 96, 0.05);
    border: 1px solid rgba(243, 18, 96, 0.18);
    border-radius: 10px;
    font-size: 12.5px;
    color: var(--rcn-fg-2);
    max-height: 220px;
    overflow-y: auto;
}

.import-errors li[b-p45cjcaq3s] {
    margin: 2px 0;
}

.modal-import[b-p45cjcaq3s] {
    max-width: 560px;
}

/* Campaign enrollment section in the pre-import view. */
.import-enroll[b-p45cjcaq3s] {
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--rcn-sand-50);
    border: 1px solid var(--rcn-border);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.import-enroll-head[b-p45cjcaq3s] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.import-seq-label[b-p45cjcaq3s] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-2);
    margin-top: 4px;
}

.import-optional[b-p45cjcaq3s] {
    font-size: 11px;
    font-weight: 400;
    color: var(--rcn-fg-3);
    margin-left: 2px;
}

.import-hint[b-p45cjcaq3s] {
    margin: 0;
    font-size: 12px;
    color: var(--rcn-fg-3);
    line-height: 1.5;
}

/* Enrollment outcome shown in the results view. */
.import-enroll-result[b-p45cjcaq3s] {
    margin-top: 14px;
    padding: 12px 14px;
    background: var(--rcn-sand-50);
    border: 1px solid var(--rcn-border);
    border-radius: 10px;
}

.import-enroll-result-label[b-p45cjcaq3s] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcn-fg-2);
    margin-bottom: 10px;
}

.import-summary-sm[b-p45cjcaq3s] {
    margin-bottom: 0;
}

.import-summary-sm .import-stat[b-p45cjcaq3s] {
    padding: 10px;
}

.import-summary-sm .import-stat .n[b-p45cjcaq3s] {
    font-size: 18px;
}

.error-spaced[b-p45cjcaq3s] {
    margin-top: 12px;
}
/* /Components/Pages/Contacts/Contacts.razor.rz.scp.css */
.table-card-rel[b-hcdzr2hmef] {
    position: relative;
}

.cell-right-pad[b-hcdzr2hmef] {
    text-align: right;
    padding-right: 22px;
}

.cell-state[b-hcdzr2hmef] {
    text-align: center;
    padding: 48px 0;
    color: var(--rcn-fg-3);
}

.company-name[b-hcdzr2hmef] {
    font-weight: 500;
    font-size: 13px;
}

.modal-confirm[b-hcdzr2hmef] {
    max-width: 420px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Scoped one-off styles for Home.razor */

.stat-danger[b-lqph6tvw6n] {
    color: var(--rcn-danger);
}

/* Meetings-booked card */
.meeting-body[b-lqph6tvw6n] {
    padding-top: 12px;
    padding-bottom: 8px;
}

.meeting-count-row[b-lqph6tvw6n] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 4px;
}

.meeting-count[b-lqph6tvw6n] {
    font-size: 30px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1;
}

.meeting-count-cap[b-lqph6tvw6n] {
    color: var(--rcn-fg-3);
    font-size: 12px;
    font-weight: 500;
    padding-bottom: 2px;
}

.meeting-upnext-label[b-lqph6tvw6n] {
    font-size: 11px;
    color: var(--rcn-fg-3);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-top: 14px;
}

.meeting-empty[b-lqph6tvw6n] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    padding: 12px 0;
    text-align: center;
}

/* Send-cap card */
.cap-body[b-lqph6tvw6n] {
    display: flex;
    gap: 18px;
    align-items: center;
}

.cap-remaining[b-lqph6tvw6n] {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
}

.cap-reset-note[b-lqph6tvw6n] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    line-height: 1.5;
}

/* Wider two-column dashboard row */
.dash-row-grid-wide[b-lqph6tvw6n] {
    grid-template-columns: 1.4fr 1fr;
}

/* Compact list body inside a dash card */
.dash-card-list[b-lqph6tvw6n] {
    padding: 4px 0;
}

.dash-list-empty[b-lqph6tvw6n] {
    text-align: center;
    padding: 28px;
    color: var(--rcn-fg-3);
    font-size: 13px;
}
/* /Components/Pages/Mail/Compose.razor.rz.scp.css */
/* Composer styles moved to EmailComposer.razor.css (the shared component that now owns the markup). */
/* /Components/Pages/Mail/EmailComposer.razor.rz.scp.css */
.compose-head-icon[b-2njep66a7e] {
    color: var(--rcn-brand-green, #26CF7B);
}

.pop-anchor[b-2njep66a7e] {
    position: relative;
}

.recipient-search[b-2njep66a7e] {
    display: inline-block;
}

.recipient-input[b-2njep66a7e] {
    border: 0;
    outline: 0;
    font-size: 14px;
    min-width: 260px;
    background: transparent;
    color: var(--rcn-fg-1);
    padding: 4px 0;
}

.recipient-multi[b-2njep66a7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.pop[b-2njep66a7e] {
    position: absolute;
    top: calc(100% + 6px);
    z-index: 80;
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.1);
    border-radius: 10px;
    min-width: 320px;
    padding: 6px;
    box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.18), 0 0 1px rgba(0, 0, 0, 0.3);
    max-height: 320px;
    overflow-y: auto;
}

.pop-right[b-2njep66a7e] {
    right: 0;
}

.pop-left[b-2njep66a7e] {
    left: 0;
}

.pop-item[b-2njep66a7e] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 10px 12px;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
}

.pop-item:hover[b-2njep66a7e] {
    background: var(--rcn-sand-100);
}

.pop-item-title[b-2njep66a7e] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.pop-item-sub[b-2njep66a7e] {
    font-size: 11px;
    color: var(--rcn-fg-3);
}

.pop-empty[b-2njep66a7e] {
    padding: 12px;
    font-size: 12px;
    color: var(--rcn-fg-3);
    text-align: center;
}

.pop-merge[b-2njep66a7e] {
    min-width: 240px;
}

.pop-merge-item[b-2njep66a7e] {
    display: block;
    width: 100%;
    padding: 8px 10px;
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
    font-family: var(--rcn-font-mono, monospace);
    font-size: 12px;
    color: var(--rcn-fg-2);
}

.pop-merge-item:hover[b-2njep66a7e] {
    background: rgba(38, 207, 123, 0.1);
}

.attach-browse[b-2njep66a7e] {
    color: var(--rcn-blue-500, #2b8cd4);
    font-weight: 600;
    cursor: pointer;
}

.pop-schedule[b-2njep66a7e] {
    min-width: 280px;
    padding: 12px;
    /* The Schedule button sits at the bottom of the page, so open this menu upward. Opening downward
       (the default .pop direction) pushed it past the document bottom, which added a scrollbar and
       shifted the whole shell — including the sticky sidebar — whenever the menu was shown. */
    top: auto;
    bottom: calc(100% + 6px);
}

.pop-schedule-head[b-2njep66a7e] {
    font-size: 12px;
    font-weight: 600;
    color: var(--rcn-fg-2);
    margin-bottom: 10px;
}

.pop-schedule .input[b-2njep66a7e] {
    width: 100%;
    margin-bottom: 10px;
}

.pop-schedule-foot[b-2njep66a7e] {
    display: flex;
    justify-content: flex-end;
}

/* Read-only "Preview" of the draft with merge fields resolved (toggled from the toolbar).
   Matches the editor body's padding/height so toggling Edit↔Preview doesn't shift the content. */
.compose-preview[b-2njep66a7e] {
    padding: 24px;
    min-height: 320px;
}

.compose-preview-meta[b-2njep66a7e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-bottom: 14px;
}

.compose-preview-subject[b-2njep66a7e] {
    font-size: 18px;
    font-weight: 600;
    color: var(--rcn-fg-1);
    line-height: 1.3;
    margin-bottom: 12px;
}

.compose-preview .preview[b-2njep66a7e] {
    font-size: 15px;
    line-height: 1.65;
    color: var(--rcn-fg-1);
}

/* Embedded reply variant — a touch tighter, no min-height on the editor so it sits in the thread. */
.compose-card-reply .editor-body[b-2njep66a7e] {
    min-height: 180px;
}

/* Smart Send hint shown above the compose actions when the recipient has a determinable zone. */
.smart-hint[b-2njep66a7e] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(38, 207, 123, 0.08);
    font-size: 12px;
    color: var(--rcn-fg-2);
}

.smart-hint strong[b-2njep66a7e] {
    color: var(--rcn-fg-1);
    font-weight: 600;
}

/* Left side of the compose header — the reply/edit icon next to the title. */
.compose-head-title[b-2njep66a7e] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* The "New email" / "Reply" heading — flush, no default margin. */
.compose-head-heading[b-2njep66a7e] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

/* Right side of the compose header — template loader + close button. */
.compose-head-tools[b-2njep66a7e] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Subject line input — slightly larger and semi-bold to stand out from the meta rows. */
.subject-input[b-2njep66a7e] {
    font-weight: 500;
    font-size: 15px;
}

/* Booking-link popover is narrower than the default merge popover. */
.pop-booking[b-2njep66a7e] {
    width: 200px;
}

/* Muted "· 12.3 KB" file-size label shown after an attachment name. */
.attachment-size[b-2njep66a7e] {
    color: var(--rcn-fg-3);
}

/* Inline "Unsubscribe footer" checkbox label in the compose action bar. */
.unsubscribe-toggle[b-2njep66a7e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcn-fg-2);
    cursor: pointer;
    margin-left: 10px;
}
/* /Components/Pages/Mail/EmailDetail.razor.rz.scp.css */
.detail-toolbar[b-oxzym677we] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.thread-column[b-oxzym677we] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.side-column[b-oxzym677we] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.email-header[b-oxzym677we] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.pill-row[b-oxzym677we] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.email-subject[b-oxzym677we] {
    font-size: 22px;
    font-weight: 500;
    margin: 0;
    line-height: 1.2;
}

.message-subject[b-oxzym677we] {
    font-size: 17px;
    font-weight: 600;
    margin: 0;
    line-height: 1.25;
}

.email-byline[b-oxzym677we] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    font-size: 13px;
    color: var(--rcn-fg-2);
    flex-wrap: wrap;
}

.contact-link[b-oxzym677we] {
    color: var(--rcn-accent, #1f9d63);
    text-decoration: none;
    font-weight: 500;
}

.contact-link:hover[b-oxzym677we] {
    text-decoration: underline;
}

.message-byline[b-oxzym677we] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    font-size: 13px;
    color: var(--rcn-fg-2);
    flex-wrap: wrap;
}

.byline-to[b-oxzym677we] {
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.byline-name[b-oxzym677we] {
    font-weight: 600;
    color: var(--rcn-fg-1);
}

/* "Sent by {rep} via {Compose|Sequence}" — the attribution line under an outbound message's byline. */
.email-attribution[b-oxzym677we] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.email-attribution strong[b-oxzym677we] {
    font-weight: 600;
    color: var(--rcn-fg-2);
}

.muted[b-oxzym677we] {
    color: var(--rcn-fg-3);
}

.error-value[b-oxzym677we] {
    color: var(--rcn-danger);
}

.attachment-line[b-oxzym677we] {
    white-space: nowrap;
}

.timeline-count[b-oxzym677we] {
    font-size: 12px;
    color: var(--rcn-fg-3);
}

/* Readable per-event detail (device/browser for opens, link host for clicks) — full value on hover. */
.timeline-detail[b-oxzym677we] {
    display: inline-block;
    max-width: 100%;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 6px;
    background: rgba(17, 20, 17, 0.05);
    font-size: 12px;
    color: var(--rcn-fg-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.timeline-empty[b-oxzym677we] {
    font-size: 13px;
    color: var(--rcn-fg-3);
    line-height: 1.5;
}
/* /Components/Pages/Mail/Scheduled.razor.rz.scp.css */
/* Positioning context for the grid loading overlay. */
.table-card-rel[b-625o5ut4a4] {
    position: relative;
}

/* Right-aligned table cell/header with extra trailing padding for the actions column. */
.cell-head-actions[b-625o5ut4a4] {
    text-align: right;
    padding-right: 22px;
}

/* Centred, muted placeholder row spanning the table for loading / empty states. */
.cell-state[b-625o5ut4a4] {
    text-align: center;
    padding: 48px 0;
    color: var(--rcn-fg-3);
}

/* Slightly emphasised subject text. */
.subject-name[b-625o5ut4a4] {
    font-weight: 500;
}
/* /Components/Pages/Mail/Sent.razor.rz.scp.css */
.stat-unit[b-dg6rk8f7jh] {
    font-size: 16px;
    color: var(--rcn-fg-3);
}

.table-relative[b-dg6rk8f7jh] {
    position: relative;
}

.table-empty[b-dg6rk8f7jh] {
    text-align: center;
    padding: 48px 0;
    color: var(--rcn-fg-3);
}

.tracking-muted[b-dg6rk8f7jh] {
    color: var(--rcn-fg-3);
    font-size: 12px;
}

/* ---- Conversation threading ---- */
.subject-line[b-dg6rk8f7jh] {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* The expand/collapse chevron on a conversation root. */
.thread-toggle[b-dg6rk8f7jh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-left: -4px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--rcn-fg-3);
    cursor: pointer;
    transition: background 120ms var(--rcn-ease-standard), color 120ms var(--rcn-ease-standard);
}

.thread-toggle:hover[b-dg6rk8f7jh] {
    background: rgba(17, 20, 17, 0.06);
    color: var(--rcn-fg-1);
}

/* Message-count badge next to a threaded conversation's subject. */
.thread-count[b-dg6rk8f7jh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9999px;
    background: rgba(17, 20, 17, 0.06);
    color: var(--rcn-fg-2);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

/* Keep the snippet lined up with the subject text when a toggle takes up the first slot. */
.preview-indent[b-dg6rk8f7jh] {
    margin-left: 22px;
}

/* Nested reply rows sit on a tinted, left-accented lane under their root. */
.thread-child[b-dg6rk8f7jh] {
    background: var(--rcn-sand-50);
}

.thread-child td:first-child[b-dg6rk8f7jh] {
    box-shadow: inset 3px 0 0 var(--rcn-brand-green);
}

.child-indent[b-dg6rk8f7jh] {
    padding-left: 18px;
}

.child-indent-preview[b-dg6rk8f7jh] {
    margin-left: 32px;
}

.thread-branch[b-dg6rk8f7jh] {
    display: inline-flex;
    color: var(--rcn-fg-3);
    flex-shrink: 0;
}
/* /Components/Pages/Reports/Reports.razor.rz.scp.css */
.report-controls[b-nv51p0otdj] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.controls-caption[b-nv51p0otdj] {
    font-size: 13px;
    color: var(--rcn-fg-2);
}

.section-spaced[b-nv51p0otdj] {
    margin-top: 16px;
}

.card-subtitle[b-nv51p0otdj] {
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.card-stack[b-nv51p0otdj] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.card-stack-tight[b-nv51p0otdj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bar-row-head[b-nv51p0otdj] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 13px;
    margin-bottom: 6px;
}

.bar-label[b-nv51p0otdj] {
    font-weight: 600;
}

.text-muted[b-nv51p0otdj] {
    color: var(--rcn-fg-3);
}

.text-strong[b-nv51p0otdj] {
    color: var(--rcn-fg-1);
}

.health-title[b-nv51p0otdj] {
    font-size: 13px;
    font-weight: 600;
}

.col-rank[b-nv51p0otdj] {
    width: 36px;
}

.empty-cell[b-nv51p0otdj] {
    text-align: center;
    padding: 40px 0;
    color: var(--rcn-fg-3);
}

.rank-cell[b-nv51p0otdj] {
    color: var(--rcn-fg-3);
    font-weight: 600;
}

.heatmap-peak[b-nv51p0otdj] {
    font-size: 13px;
    color: var(--rcn-fg-2);
    margin-bottom: 14px;
}
/* /Components/Pages/Sequences/SequenceDetail.razor.rz.scp.css */
.seq-steps[b-emhod37u36] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.seq-step[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(17, 20, 17, 0.07);
    border-radius: 10px;
    background: var(--rcn-sand-50);
}

.seq-step-num[b-emhod37u36] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--rcn-fg-1);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.seq-step-icon[b-emhod37u36] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.seq-step-main[b-emhod37u36] {
    flex: 1;
    min-width: 0;
}

.seq-step-title[b-emhod37u36] {
    font-size: 14px;
    font-weight: 500;
    color: var(--rcn-fg-1);
}

.seq-step-when[b-emhod37u36] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    font-size: 12px;
    color: var(--rcn-brand, #137548);
    font-weight: 500;
}

.seq-step-meta[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.seq-step-meta span[b-emhod37u36] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.seq-step-label[b-emhod37u36] {
    background: rgba(17, 20, 17, 0.05);
    padding: 1px 7px;
    border-radius: 9999px;
}

.seq-step-actions[b-emhod37u36] {
    display: inline-flex;
    gap: 2px;
    flex-shrink: 0;
}

.seq-step-actions .icon-btn.danger:hover[b-emhod37u36] {
    color: var(--rcn-danger);
}

/* Enrolments — a full-width, filterable grid of enrolled contacts. */
.seq-enroll-toolbar[b-emhod37u36] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.seq-enroll-tabs[b-emhod37u36] {
    flex-wrap: wrap;
}

.seq-tab-count[b-emhod37u36] {
    opacity: 0.6;
    margin-left: 2px;
}

.seq-enroll-grid[b-emhod37u36] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.seq-enroll-card[b-emhod37u36] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 10px;
    background: var(--rcn-sand-50);
    text-decoration: none;
    transition: border-color 120ms var(--rcn-ease-standard), box-shadow 120ms var(--rcn-ease-standard);
}

.seq-enroll-card:hover[b-emhod37u36] {
    border-color: rgba(17, 20, 17, 0.18);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.seq-enroll-name[b-emhod37u36] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seq-enroll-card:hover .seq-enroll-name[b-emhod37u36] {
    color: var(--rcn-brand-green);
}

.seq-enroll-company[b-emhod37u36] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seq-enroll-meta[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 12px;
}

.seq-enroll-next[b-emhod37u36] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 5px;
    font-size: 11.5px;
    color: var(--rcn-fg-3);
}

.seq-enroll-actions[b-emhod37u36] {
    display: inline-flex;
    gap: 2px;
    flex-shrink: 0;
}

.seq-enroll-actions .icon-btn.danger:hover[b-emhod37u36] {
    color: var(--rcn-danger);
}

.seq-enroll-matches[b-emhod37u36] {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 240px;
    overflow-y: auto;
}

.seq-enroll-match[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    color: var(--rcn-fg-3);
}

.seq-enroll-match:hover[b-emhod37u36] {
    background: var(--rcn-sand-50);
}

.seq-enroll-match .name[b-emhod37u36] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.seq-enroll-match .email[b-emhod37u36] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Header toolbar */
.detail-toolbar[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

/* Summary card */
.summary-card[b-emhod37u36] {
    margin-bottom: 16px;
}

/* Vertical gap between the stacked cards (Steps → Enrolled → Step activity). */
.card-spaced[b-emhod37u36] {
    margin-top: 16px;
}

.summary-body[b-emhod37u36] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.summary-heading[b-emhod37u36] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.summary-name[b-emhod37u36] {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

.campaign-badge[b-emhod37u36] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcn-fg-2);
    background: rgba(17, 20, 17, 0.04);
    padding: 4px 10px;
    border-radius: 9999px;
    text-decoration: none;
}

.standalone-tag[b-emhod37u36] {
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.summary-desc[b-emhod37u36] {
    font-size: 13px;
    color: var(--rcn-fg-2);
    margin-top: 4px;
}

/* Steps panel */
.steps-lock-notice[b-emhod37u36] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    background: rgba(17, 20, 17, 0.03);
    padding: 8px 10px;
    border-radius: 8px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.empty-steps[b-emhod37u36] {
    font-size: 13px;
    color: var(--rcn-fg-3);
    text-align: center;
    padding: 24px 0;
}

/* Side column / enrolments */
.side-column[b-emhod37u36] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.empty-enrolls[b-emhod37u36] {
    font-size: 13px;
    color: var(--rcn-fg-3);
    text-align: center;
    padding: 20px 0;
}

/* Step activity — what each step actually did (emails sent, tasks created), newest first. */
.seq-activity-ic[b-emhod37u36] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Type cell in the step-activity grid: a compact icon chip beside the Email/Task label. */
.seq-activity-type[b-emhod37u36] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--rcn-fg-1);
    white-space: nowrap;
}

.seq-activity-type .seq-activity-ic[b-emhod37u36] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
}

.seq-activity-title[b-emhod37u36] {
    font-size: 13.5px;
    color: var(--rcn-fg-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seq-activity-sub[b-emhod37u36] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 1px;
}

.enroll-next[b-emhod37u36] {
    color: var(--rcn-fg-3);
}

/* Step modal fields */
.seg-start[b-emhod37u36] {
    align-self: flex-start;
}

.field-row[b-emhod37u36] {
    display: flex;
    gap: 14px;
}

.field-day[b-emhod37u36] {
    width: 120px;
}

.field-wait[b-emhod37u36] {
    width: 160px;
}

.field-task-type[b-emhod37u36] {
    width: 140px;
}
/* /Components/Pages/Sequences/Sequences.razor.rz.scp.css */
.seq-grid[b-eh67t2ughi] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 14px;
}

.seq-card[b-eh67t2ughi] {
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.08);
    border-radius: 12px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    transition: all 180ms var(--rcn-ease-standard);
}

.seq-card:hover[b-eh67t2ughi] {
    border-color: var(--rcn-brand-green);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -10px rgba(0, 0, 0, 0.08);
}

.seq-card-name[b-eh67t2ughi] {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--rcn-fg-1);
}

.seq-card-desc[b-eh67t2ughi] {
    font-size: 13px;
    color: var(--rcn-fg-2);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}

.seq-card-foot[b-eh67t2ughi] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.seq-card-foot span[b-eh67t2ughi] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
/* /Components/Pages/Tasks/Tasks.razor.rz.scp.css */
.task-section[b-wz47ogp1fw] {
    margin-bottom: 22px;
}

/* A task deep-linked from a contact's sequence timeline: briefly tint the row so it's easy to spot after
   the page scrolls it into view. Works for both the board card and the table row. */
.task-focus[b-wz47ogp1fw] {
    animation: task-focus-fade-b-wz47ogp1fw 2.6s ease-out 1;
}

@keyframes task-focus-fade-b-wz47ogp1fw {
    0%, 35% {
        background-color: rgba(38, 207, 123, 0.16);
    }

    100% {
        background-color: transparent;
    }
}

.task-section-head[b-wz47ogp1fw] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rcn-fg-3);
    margin: 0 4px 10px;
}

.task-section-head.overdue[b-wz47ogp1fw] {
    color: var(--rcn-danger);
}

.task-section-count[b-wz47ogp1fw] {
    font-size: 11px;
    font-weight: 600;
    background: rgba(17, 20, 17, 0.06);
    color: var(--rcn-fg-2);
    padding: 1px 8px;
    border-radius: 9999px;
}

.task-list[b-wz47ogp1fw] {
    padding: 4px;
}

.task-row[b-wz47ogp1fw] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 10px;
}

.task-row:not(:last-child)[b-wz47ogp1fw] {
    border-bottom: 1px solid rgba(17, 20, 17, 0.05);
    border-radius: 0;
}

.task-row:hover[b-wz47ogp1fw] {
    background: var(--rcn-sand-50);
}

.task-row.is-done .task-title[b-wz47ogp1fw] {
    color: var(--rcn-fg-3);
    text-decoration: line-through;
}

.task-type[b-wz47ogp1fw] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.task-main[b-wz47ogp1fw] {
    flex: 1;
    min-width: 0;
}

.task-title[b-wz47ogp1fw] {
    font-size: 14px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.task-meta[b-wz47ogp1fw] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 3px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}

.task-meta .task-due[b-wz47ogp1fw],
.task-meta .task-contact[b-wz47ogp1fw] {
    display: inline-flex;
    /* Override the global .task-due (app.css), which is flex-direction:column for an older
       date-stack layout — without this, the clock icon stacks above the date text. */
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.task-due.overdue[b-wz47ogp1fw] {
    color: var(--rcn-danger);
    font-weight: 600;
}

.task-dot[b-wz47ogp1fw] {
    color: var(--rcn-fg-disabled);
}

.task-notes[b-wz47ogp1fw] {
    font-size: 12px;
    color: var(--rcn-fg-2);
    margin-top: 6px;
    line-height: 1.45;
}

.task-actions[b-wz47ogp1fw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.task-actions .icon-btn.danger:hover[b-wz47ogp1fw] {
    color: var(--rcn-danger);
}

.task-badge[b-wz47ogp1fw] {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 9999px;
}

.task-badge.ok[b-wz47ogp1fw] {
    background: rgba(38, 207, 123, 0.12);
    color: #137548;
}

.task-badge.skip[b-wz47ogp1fw] {
    background: rgba(17, 20, 17, 0.06);
    color: var(--rcn-fg-3);
}

/* Collapsed "Completed & skipped" disclosure: one card whose header is the toggle and whose
   body (when open) is the task list, joined by a divider. */
.task-disclosure[b-wz47ogp1fw] {
    overflow: hidden;
}

.task-done-toggle[b-wz47ogp1fw] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rcn-fg-3);
    padding: 14px 18px;
    transition: background 0.12s ease, color 0.12s ease;
}

.task-done-toggle:hover[b-wz47ogp1fw] {
    background: var(--rcn-sand-100);
    color: var(--rcn-fg-2);
}

.task-done-toggle .task-section-count[b-wz47ogp1fw] {
    margin-left: auto;
}

.task-disclosure.open .task-done-toggle[b-wz47ogp1fw] {
    border-bottom: 1px solid rgba(17, 20, 17, 0.06);
}

/* Contact name as a link through to the contact profile (card + table views). */
.task-contact-link[b-wz47ogp1fw] {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.task-contact-link:hover[b-wz47ogp1fw] {
    color: var(--rcn-brand-green);
    text-decoration: underline;
}

/* Contact picker inside the editor modal. */
.task-contact-chip[b-wz47ogp1fw] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: var(--rcn-sand-50);
    border: 1px solid rgba(17, 20, 17, 0.06);
    border-radius: 10px;
}

.task-contact-matches[b-wz47ogp1fw] {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 200px;
    overflow-y: auto;
}

.task-contact-match[b-wz47ogp1fw] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
}

.task-contact-match:hover[b-wz47ogp1fw] {
    background: var(--rcn-sand-50);
}

.task-contact-match .name[b-wz47ogp1fw] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.task-contact-match .email[b-wz47ogp1fw] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* One-off layout helpers for this component. */
.col-type[b-wz47ogp1fw] {
    width: 36px;
}

.modal-560[b-wz47ogp1fw] {
    max-width: 560px;
}

.modal-420[b-wz47ogp1fw] {
    max-width: 420px;
}

.editor-row[b-wz47ogp1fw] {
    display: flex;
    gap: 14px;
}

.field-type[b-wz47ogp1fw] {
    width: 150px;
}

.field-optional[b-wz47ogp1fw] {
    color: var(--rcn-fg-3);
    font-weight: 400;
}

.contact-chip-name[b-wz47ogp1fw] {
    flex: 1;
    font-weight: 600;
    font-size: 13px;
}
/* /Components/Pages/Templates/TemplateDetail.razor.rz.scp.css */
/* Contact search box in the "Preview as recipient" card. */
.preview-search[b-zp7l16nxu9] {
    position: relative;
    display: flex;
    align-items: center;
}

.preview-search[b-zp7l16nxu9]  .icon {
    position: absolute;
    left: 12px;
    color: var(--rcn-fg-3);
    pointer-events: none;
}

.preview-search .input[b-zp7l16nxu9] {
    padding-left: 36px;
    width: 100%;
}

.preview-matches[b-zp7l16nxu9] {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 240px;
    overflow-y: auto;
}

.preview-match[b-zp7l16nxu9] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
}

.preview-match:hover[b-zp7l16nxu9] {
    background: var(--rcn-sand-50);
}

.preview-match .name[b-zp7l16nxu9] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcn-fg-1);
}

.preview-match .email[b-zp7l16nxu9] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Selected-contact chip shown while previewing. */
.preview-chip[b-zp7l16nxu9] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: var(--rcn-sand-50);
    border: 1px solid rgba(17, 20, 17, 0.06);
    border-radius: 10px;
}

/* Name shown inside the selected-contact chip. */
.chip-name[b-zp7l16nxu9] {
    flex: 1;
    font-weight: 600;
    font-size: 13px;
}

/* Top action toolbar above the template detail. */
.detail-actions[b-zp7l16nxu9] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

/* Right-hand column of cards in the detail layout. */
.detail-side[b-zp7l16nxu9] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Email card header laid out as a vertical stack. */
.card-header-stack[b-zp7l16nxu9] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

/* Row of pills above the subject. */
.pill-row[b-zp7l16nxu9] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

/* Rendered subject heading of the template email. */
.email-subject[b-zp7l16nxu9] {
    font-size: 20px;
    font-weight: 500;
    margin: 0;
    line-height: 1.25;
}

/* Small muted caption (raw-template note, name/used line). */
.meta-caption[b-zp7l16nxu9] {
    font-size: 12px;
    color: var(--rcn-fg-3);
}

/* Muted helper text below a control, with top spacing. */
.hint-text[b-zp7l16nxu9] {
    font-size: 12px;
    color: var(--rcn-fg-3);
    margin-top: 8px;
}
/* /Components/Pages/Templates/Templates.razor.rz.scp.css */
/* Right side of a template card foot: usage count + edit/duplicate/delete. */
.foot-right[b-i6wh5csga4] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tpl-actions[b-i6wh5csga4] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.tpl-actions .icon-btn[b-i6wh5csga4] {
    width: 26px;
    height: 26px;
}

.tpl-actions .icon-btn.danger[b-i6wh5csga4] {
    color: var(--rcn-danger);
}

.tpl-actions .icon-btn.danger:hover[b-i6wh5csga4] {
    background: rgba(243, 18, 96, 0.1);
}

/* Merge-field dropdown in the editor toolbar (mirrors Compose's, scoped locally). */
.tpl-pop-anchor[b-i6wh5csga4] {
    position: relative;
}

.tpl-pop[b-i6wh5csga4] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 40;
    background: #fff;
    border: 1px solid rgba(17, 20, 17, 0.12);
    border-radius: 10px;
    box-shadow: 0 16px 32px -12px rgba(0, 0, 0, 0.18);
    padding: 6px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    min-width: 280px;
    max-height: 240px;
    overflow-y: auto;
}

.tpl-pop-item[b-i6wh5csga4] {
    background: transparent;
    border: 0;
    text-align: left;
    padding: 7px 10px;
    font-size: 12px;
    font-family: var(--rcn-font-mono);
    color: var(--rcn-fg-2);
    border-radius: 6px;
    cursor: pointer;
}

.tpl-pop-item:hover[b-i6wh5csga4] {
    background: rgba(38, 207, 123, 0.1);
    color: #137548;
}

/* Template editor modal: wide, roomy canvas for composing the rich-text body (create + edit share it). */
.modal-editor[b-i6wh5csga4] {
    max-width: 920px;
}

/* Subject + category row in the editor form. */
.field-row[b-i6wh5csga4] {
    display: flex;
    gap: 14px;
}

/* Fixed-width category select beside the flexible subject field. */
.field-category[b-i6wh5csga4] {
    width: 170px;
}

/* Scrollable contenteditable body in the template editor. Taller so more of the message is visible at once;
   viewport-relative max so it grows with the bigger modal without overflowing the screen. */
.editor-scroll[b-i6wh5csga4] {
    min-height: 300px;
    max-height: 52vh;
    overflow-y: auto;
}
/* /Components/RedirectToLogin.razor.rz.scp.css */
/* The session-ended modal is a narrow, centred card with generous padding. */
.session-ended-card[b-al6rawiw64] {
    max-width: 420px;
    text-align: center;
    padding: 32px;
}

/* Heading sits tight to the icon above and the copy below. */
.session-ended-title[b-al6rawiw64] {
    margin: 14px 0 6px;
    font-size: 20px;
}

/* Explanatory body copy. */
.session-ended-copy[b-al6rawiw64] {
    color: var(--rcn-fg-2);
    margin: 0 0 22px;
    line-height: 1.5;
}

/* Small muted countdown line beneath the sign-in button. */
.session-ended-countdown[b-al6rawiw64] {
    margin-top: 14px;
    font-size: 12px;
    color: var(--rcn-fg-3);
}
/* /Components/Shared/SendCapGauge.razor.rz.scp.css */
.gauge-ring[b-57ez2rhe0z] {
    transform: rotate(-90deg);
}

.gauge-center[b-57ez2rhe0z] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1;
}

.gauge-used[b-57ez2rhe0z] {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--rcn-fg-1);
}

.gauge-cap[b-57ez2rhe0z] {
    font-size: 10px;
    font-weight: 600;
    color: var(--rcn-fg-3);
    margin-top: 2px;
}
/* /Components/Shared/Sparkline.razor.rz.scp.css */
.sparkline-svg[b-uhobajobcw] {
    display: block;
}
/* /Components/Shared/Toaster.razor.rz.scp.css */
.toast-stack[b-uuifuff41b] {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 380px;
    max-width: calc(100vw - 44px);
    pointer-events: none;
}

.toast-card[b-uuifuff41b] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 14px 14px 16px;
    border-radius: 14px;
    background: var(--rcn-gunmetal-700, #181C18);
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.4);
    color: #fff;
    pointer-events: auto;
    animation: toast-in-b-uuifuff41b 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.toast-icon[b-uuifuff41b] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}

.toast-success .toast-icon[b-uuifuff41b] {
    background: rgba(38, 207, 123, 0.16);
    color: #2ED787;
}

.toast-warning .toast-icon[b-uuifuff41b] {
    background: rgba(245, 165, 36, 0.18);
    color: #F5A524;
}

.toast-error .toast-icon[b-uuifuff41b] {
    background: rgba(243, 18, 96, 0.16);
    color: #FF4D8A;
}

.toast-info .toast-icon[b-uuifuff41b] {
    background: rgba(70, 187, 232, 0.16);
    color: #58C4EE;
}

.toast-body[b-uuifuff41b] {
    flex: 1;
    min-width: 0;
    padding-top: 2px;
}

/* Title-only toast (no description): center the row vertically. */
.toast-card.toast-compact[b-uuifuff41b] {
    align-items: center;
}

.toast-card.toast-compact .toast-body[b-uuifuff41b] {
    padding-top: 0;
}

.toast-card.toast-compact .toast-icon[b-uuifuff41b] {
    margin-top: 0;
}

.toast-title[b-uuifuff41b] {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}

.toast-desc[b-uuifuff41b] {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.66);
    margin-top: 3px;
}

.toast-close[b-uuifuff41b] {
    flex-shrink: 0;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    padding: 3px;
    border-radius: 6px;
    line-height: 0;
}

.toast-success .toast-close[b-uuifuff41b] {
    color: #2ED787;
}

.toast-warning .toast-close[b-uuifuff41b] {
    color: #F5A524;
}

.toast-error .toast-close[b-uuifuff41b] {
    color: #FF4D8A;
}

.toast-info .toast-close[b-uuifuff41b] {
    color: #58C4EE;
}

.toast-close:hover[b-uuifuff41b] {
    background: rgba(255, 255, 255, 0.12);
    filter: brightness(1.15);
}

@keyframes toast-in-b-uuifuff41b {
    from {
        opacity: 0;
        transform: translateX(16px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}
