/* rcnext page styles, lane a: stations, service page, billing, add-ons, wallet, affiliate */
.rcn-stack--a { display: flex; flex-direction: column; gap: 24px; }
.rcn-a-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rcn-a-n { color: var(--rcn-text-4); margin-left: 4px; font-variant-numeric: tabular-nums; }
.seg [aria-pressed="true"] .rcn-a-n { color: inherit; opacity: .7; }
.rcn-a-link { color: var(--rcn-text); font-weight: 500; text-decoration: none; }
.rcn-a-link:hover { color: var(--rcn-link); }
.rcn-a-bad { color: var(--rcn-bad); }
.rcn-a-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-top: 1px solid var(--rcn-line); font-size: 12px; }
.rcn-a-none { padding: 32px 20px; }
.rcn-st { display: inline-flex; width: 16px; flex: none; }
.rcn-a-grow { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--rcn-text-2); }
.rcn-a-date { color: var(--rcn-text-4); width: 96px; flex: none; }
.rcn-a-amt { width: 80px; flex: none; text-align: right; }
.lrow[hidden] { display: none; }

/* service page */
.rcn-a-crumb a { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--rcn-text-4); text-decoration: none; }
.rcn-a-crumb a:hover { color: var(--rcn-text); }
.rcn-a-back { transform: rotate(180deg); }
.rcn-svc__head { display: flex; align-items: center; gap: 16px; padding: 20px; }
.rcn-svc__id { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.rcn-svc__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rcn-svc__title .rcn-h1 { overflow-wrap: anywhere; }
.rcn-svc__meta { display: flex; align-items: center; gap: 6px 14px; flex-wrap: wrap; font-size: 13px; color: var(--rcn-text-3, var(--rcn-text-2)); }
.rcn-svc__actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 12px 20px; border-top: 1px solid var(--rcn-line); }
.rcn-svc__actions .btn { display: inline-flex; align-items: center; gap: 6px; }
.rcn-a-sv-s { font-size: 15px !important; line-height: 28px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rcn-a-p { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--rcn-text-3, var(--rcn-text-2)); max-width: 560px; }
.rcn-a-flat { margin-bottom: 12px; }
.rcn-dj__pw { padding: 4px 8px; border-radius: 6px; background: var(--rcn-input); box-shadow: inset 0 0 0 1px var(--rcn-line-3); color: var(--rcn-text); user-select: all; }
.rcn-cancel__body { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rcn-cancel__t { font-weight: 600; color: var(--rcn-text); margin-bottom: 2px; }
.rcn-a-danger { color: var(--rcn-bad) !important; }
.rcn-a-widget:empty { display: none; }
.rcn-a-empty-s { padding: 28px 20px; }
.rcn-a-empty-s .empty__title { font-size: 14px; }

/* chat nudge */
.rc-chat-nudge { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: var(--rcn-r-card); background: var(--rcn-card); box-shadow: 0 0 0 1px var(--rcn-line-2); }
.rc-chat-nudge--modal { margin-bottom: 18px; padding: 12px 14px; background: var(--rcn-input); }
.rc-chat-nudge__icon { position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg, var(--rcn-accent) 0%, var(--rcn-primary) 55%, var(--rcn-ring) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 18px -6px rgba(117, 71, 240, .7); }
.rc-chat-nudge__icon svg { width: 20px; height: 20px; fill: var(--rcn-primary); }
.rc-chat-nudge__icon .rc-chat-nudge__bubble { fill: #fff; }
/* "agents online" badge on the avatar; the ring matches whatever the nudge sits on */
.rc-chat-nudge__status { position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; border-radius: 50%; background: var(--rcn-ok-dot); box-shadow: 0 0 0 2.5px var(--rcn-card); }
.rc-chat-nudge__status::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--rcn-ok-dot); animation: rc-chat-ping 2.4s var(--rcn-ease) infinite; }
@keyframes rc-chat-ping { 0% { transform: scale(1); opacity: .55; } 70%, 100% { transform: scale(2.2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .rc-chat-nudge__status::after { animation: none; } }
.rc-chat-nudge--modal .rc-chat-nudge__icon { width: 34px; height: 34px; }
.rc-chat-nudge--modal .rc-chat-nudge__icon svg { width: 17px; height: 17px; }
.rc-chat-nudge--modal .rc-chat-nudge__status { width: 10px; height: 10px; box-shadow: 0 0 0 2px var(--rcn-input); }
.rc-chat-nudge__text { flex: 1 1 220px; min-width: 0; }
.rc-chat-nudge__title { font-weight: 600; font-size: 13px; color: var(--rcn-text); }
.rc-chat-nudge__sub { font-size: 12px; color: var(--rcn-text-4); line-height: 1.5; margin-top: 2px; }
.rc-chat-nudge .btn { white-space: nowrap; }

/* billing */
.lrow > .pill { min-width: 72px; }
.rcn-a-idlink { color: var(--rcn-text-4); text-decoration: none; }
.rcn-a-desc { text-decoration: none; }
a.rcn-a-desc:hover { color: var(--rcn-text); }
.rcn-a-act { width: 70px; flex: none; display: flex; justify-content: flex-end; }
.rcn-a-pager { padding: 8px 16px 16px; border-top: 1px solid var(--rcn-line); }
.rcn-a-pager nav { margin: 0 !important; }
.seg > a .rcn-a-n { margin-left: 4px; }

/* invoice view */
.rcn-a-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.rcn-a-split { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.rcn-a-main, .rcn-a-side { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.rcn-a-side { position: sticky; top: 76px; }
.rcn-a-totals { border-top: 1px solid var(--rcn-line); padding: 12px 16px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--rcn-text-3, var(--rcn-text-2)); }
.rcn-a-totals > div { display: flex; justify-content: space-between; gap: 12px; }
.rcn-a-totals__t { font: 600 15px var(--rcn-font); color: var(--rcn-text); padding-top: 6px; }
.rcn-a-eyebrow { font: 500 11px var(--rcn-font); text-transform: uppercase; letter-spacing: .06em; color: var(--rcn-text-4); margin-bottom: 6px; }
.rcn-a-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rcn-a-party { font-size: 13px; line-height: 1.55; color: var(--rcn-text-3, var(--rcn-text-2)); overflow-wrap: anywhere; }
.rcn-a-party strong { color: var(--rcn-text); font-weight: 500; }
.rcn-a-prose { font-size: 13px; color: var(--rcn-text-3, var(--rcn-text-2)); }
.rcn-a-prose > :last-child { margin-bottom: 0; }
.rcn-a-due { display: flex; flex-direction: column; gap: 10px; }
.rcn-a-due__n { font: 600 30px/1.1 var(--rcn-font); letter-spacing: -.02em; color: var(--rcn-text); }
.rcn-a-block { width: 100%; justify-content: center; }
.rcn-a-alt { display: flex; flex-direction: column; gap: 6px; }
.rcn-a-fine { margin: 0; font-size: 12px; line-height: 1.5; color: var(--rcn-text-4); }
.rcn-a-dl { margin: 0; border-top: 1px solid var(--rcn-line); }
.rcn-a-dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 16px; font-size: 13px; }
.rcn-a-dl > div + div { border-top: 1px solid var(--rcn-line); }
.rcn-a-dl dt { font-weight: 400; color: var(--rcn-text-4); }
.rcn-a-dl dd { margin: 0; color: var(--rcn-text-2); }
@media (max-width: 860px) {
    .rcn-a-split { grid-template-columns: minmax(0, 1fr); }
    .rcn-a-side { position: static; order: -1; }
    .rcn-a-parties { grid-template-columns: 1fr; }
}

/* add-ons */
.rcn-a-aoact { display: flex; align-items: center; justify-content: flex-end; min-width: 80px; }

/* wallet */
.rcn-a-split--wallet { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.rcn-a-split--wallet > .card { min-width: 0; }
.rcn-a-funds { display: flex; gap: 8px; align-items: stretch; margin-bottom: 10px; }
.rcn-a-funds .input-group { flex: 1; min-width: 0; }
.rcn-a-amt--w { width: 96px; }
.rcn-a-pos { color: var(--rcn-ok); }
@media (max-width: 760px) { .rcn-a-split--wallet { grid-template-columns: minmax(0, 1fr); } }

/* affiliate */
.rcn-a-sub { margin: 6px 0 0; max-width: 620px; }
.rcn-a-sub a { color: var(--rcn-link); }
.rcn-a-grid2 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: start; }
@media (max-width: 860px) { .rcn-a-grid2 { grid-template-columns: minmax(0, 1fr); } }
.rcn-terms { max-width: 720px; font-size: 13px; line-height: 1.6; color: var(--rcn-text-3, var(--rcn-text-2)); }
.rcn-terms__h { font: 600 15px var(--rcn-font); color: var(--rcn-text); margin: 20px 0 8px; }
.rcn-terms ul { padding-left: 18px; margin-bottom: 8px; }

/* payment + thank you */
.rcn-a-fine--mb { margin-bottom: 14px; }
.rcn-a-center { display: flex; justify-content: center; padding-top: 6vh; }
.rcn-a-thanks { width: 100%; max-width: 480px; text-align: center; }
.rcn-a-thanks .cbody { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 36px 28px; }
.rcn-a-thanks__icon { width: 48px; height: 48px; border-radius: 50%; background: var(--rcn-ok-bg); color: var(--rcn-ok); display: flex; align-items: center; justify-content: center; }
.rcn-a-thanks .rcn-a-p { text-align: center; margin: 0; }
.rcn-a-thanks__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.rcn-a-thanks__actions .btn { display: inline-flex; align-items: center; gap: 6px; }
.rc-stripe .alert { margin-top: 10px; }

/* Renewal charged by autopay: replaces the Pay button on the invoice page. */
.rcn-a-autopay { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 10px; background: #0F1E17; box-shadow: inset 0 0 0 1px #1D3B2C; color: #CDEFDD; font-size: 13px; line-height: 1.5; }
.rcn-a-autopay strong { color: #5BE3A2; font-weight: 600; }
