/* Shared plan cards + comparison table (.rcpc-*): Store Admin Plan & billing and the public marketing pages.
   Static file (no build step); themed through the --rcpc-* variables, dark mode via `.dark` on <html> (Filament). */
.rcpc, .rcpc-pop {
    --rcpc-brand: #4f46e5; --rcpc-brand-ink: #4338ca; --rcpc-brand-soft: #eef2ff; --rcpc-ink: #0f172a; --rcpc-text: #334155;
    --rcpc-muted: #64748b; --rcpc-line: #e2e8f0; --rcpc-line-soft: #f1f5f9; --rcpc-card: #fff; --rcpc-ok: #059669;
    --rcpc-ok-soft: #ecfdf5; --rcpc-cur: rgba(16,185,129,.07); --rcpc-head: #f8fafc; --rcpc-radius: .85rem;
    --rcpc-shadow: 0 1px 2px rgba(15,23,42,.05); --rcpc-free: #059669; --rcpc-free-soft: #ecfdf5;
}
.dark .rcpc, .dark .rcpc-pop {
    --rcpc-brand: #818cf8; --rcpc-brand-ink: #a5b4fc; --rcpc-brand-soft: rgba(99,102,241,.16); --rcpc-ink: #f8fafc; --rcpc-text: #e2e8f0;
    --rcpc-muted: #94a3b8; --rcpc-line: #334155; --rcpc-line-soft: #1e293b; --rcpc-card: #0f172a; --rcpc-ok: #34d399;
    --rcpc-ok-soft: rgba(16,185,129,.14); --rcpc-cur: rgba(16,185,129,.08); --rcpc-head: #111c33; --rcpc-free: #34d399; --rcpc-free-soft: rgba(16,185,129,.12);
}
.rcpc--marketing { --rcpc-radius: 1.25rem; --rcpc-shadow: 0 10px 30px -12px rgba(15,23,42,.18); }

/* Icons (CSS masks keep the 100+ row table light) */
.rcpc-ico, .rcpc-yes::before, .rcpc-locked::before, .rcpc-info::before { content: ""; display: inline-block; flex-shrink: 0; width: .95rem; height: .95rem; background-color: currentColor; -webkit-mask: var(--rcpc-i) center / contain no-repeat; mask: var(--rcpc-i) center / contain no-repeat; }
.rcpc-ico-check, .rcpc-yes::before { --rcpc-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z' clip-rule='evenodd'/%3E%3C/svg%3E"); }
.rcpc-locked::before { --rcpc-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1a4.5 4.5 0 0 0-4.5 4.5V9H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2h-.5V5.5A4.5 4.5 0 0 0 10 1Zm3 8V5.5a3 3 0 1 0-6 0V9h6Z' clip-rule='evenodd'/%3E%3C/svg%3E"); }
.rcpc-info::before { --rcpc-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-7-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 9a.75.75 0 0 0 0 1.5h.253a.25.25 0 0 1 .244.304l-.459 2.066A1.75 1.75 0 0 0 10.747 15H11a.75.75 0 0 0 0-1.5h-.253a.25.25 0 0 1-.244-.304l.459-2.066A1.75 1.75 0 0 0 9.253 9H9Z' clip-rule='evenodd'/%3E%3C/svg%3E"); }

/* Info button + feature lists */
.rcpc-info { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.15rem; height: 1.15rem; margin-left: .2rem; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--rcpc-muted); cursor: pointer; vertical-align: middle; transition: color .12s, background-color .12s; }
.rcpc-info:hover, .rcpc-info[aria-expanded="true"] { color: var(--rcpc-brand); background: var(--rcpc-brand-soft); }
.rcpc-info:focus-visible { outline: 2px solid var(--rcpc-brand); outline-offset: 1px; }
@media (pointer: coarse) { .rcpc-info { width: 1.6rem; height: 1.6rem; margin: -.2rem -.2rem -.2rem 0; } }

.rcpc-feat { border-top: 1px solid var(--rcpc-line); margin-top: .35rem; padding-top: .75rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.rcpc-feat-count { font-size: .8rem; color: var(--rcpc-muted); }
.rcpc-feat-count strong { color: var(--rcpc-ink); font-size: .95rem; }
.rcpc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .3rem; }
.rcpc-list li { display: flex; gap: .45rem; align-items: flex-start; font-size: .8rem; color: var(--rcpc-ink); line-height: 1.35; }
.rcpc-list li > .rcpc-ico { margin-top: .1rem; color: var(--rcpc-ok); }
.rcpc-list li .rcpc-info { margin-top: -.05rem; }
.rcpc-list.is-limits li > .rcpc-ico { color: var(--rcpc-brand); }
.rcpc-plus { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--rcpc-muted); }
.rcpc-link { color: var(--rcpc-brand); font-size: .78rem; font-weight: 700; background: none; border: 0; cursor: pointer; padding: 0; text-decoration: none; }
.rcpc-link:hover { text-decoration: underline; }
.rcpc-pill { display: inline-block; border-radius: 999px; padding: .15rem .6rem; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.rcpc-pill.is-cur { background: #ecfdf5; color: #047857; }
.rcpc-pill.is-hl { background: #eef2ff; color: #4338ca; }
.rcpc-pill.is-free { background: var(--rcpc-free); color: #fff; }

/* Comparison table */
.rcpc-cmp-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .75rem; margin-bottom: 1rem; }
.rcpc-cmp-title { font-size: 1rem; font-weight: 700; color: var(--rcpc-ink); margin: 0; }
.rcpc--marketing .rcpc-cmp-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -.01em; }
.rcpc-cmp-sub { color: var(--rcpc-muted); font-size: .8rem; margin: .25rem 0 0; }
.rcpc--marketing .rcpc-cmp-sub { font-size: .9rem; }
.rcpc-cmp-tools { display: flex; gap: .75rem; }
.rcpc-tbl-wrap { overflow: auto; max-height: 78vh; border: 1px solid var(--rcpc-line); border-radius: var(--rcpc-radius); background: var(--rcpc-card); }
.rcpc-tbl { width: 100%; min-width: 46rem; border-collapse: separate; border-spacing: 0; font-size: .82rem; }
.rcpc-tbl th, .rcpc-tbl td { padding: .55rem .75rem; border-bottom: 1px solid var(--rcpc-line-soft); text-align: center; vertical-align: middle; color: var(--rcpc-ink); background: var(--rcpc-card); }
.rcpc-tbl thead th { position: sticky; top: 0; z-index: 3; background: var(--rcpc-head); border-bottom: 1px solid var(--rcpc-line); padding: .75rem; font-weight: 400; }
.rcpc-tbl tbody th { font-weight: 400; }
.rcpc-cmp-sub .rcpc-info { width: 1rem; height: 1rem; margin: 0 .05rem; vertical-align: -.2em; }
.rcpc-cmp-sub .rcpc-info:hover { background: transparent; color: var(--rcpc-muted); }
.rcpc-tbl .rcpc-col1 { position: sticky; left: 0; z-index: 2; text-align: left; min-width: 13rem; max-width: 20rem; border-right: 1px solid var(--rcpc-line-soft); }
.rcpc-tbl thead .rcpc-col1 { z-index: 4; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--rcpc-muted); font-weight: 700; }
.rcpc-tbl td.is-cur, .rcpc-tbl th.is-cur { background-image: linear-gradient(var(--rcpc-cur), var(--rcpc-cur)); }
.rcpc-tbl thead th.is-cur { box-shadow: inset 0 3px 0 #10b981; }
.rcpc-tbl thead th.is-hl { box-shadow: inset 0 3px 0 var(--rcpc-brand); }
.rcpc-th-name { font-weight: 800; font-size: .9rem; }
.rcpc-th-price { font-size: .75rem; color: var(--rcpc-muted); font-weight: 600; margin-top: .1rem; }
.rcpc-th-badges { display: flex; justify-content: center; gap: .25rem; margin-top: .3rem; min-height: 1.2rem; }
.rcpc-th-cta { display: inline-block; margin-top: .45rem; border-radius: .55rem; padding: .3rem .65rem; font-size: .72rem; font-weight: 800; background: var(--rcpc-ink); color: var(--rcpc-card); text-decoration: none; white-space: nowrap; }
.rcpc-th-cta:hover { background: var(--rcpc-brand); color: #fff; }
.rcpc-th-cta.is-hl { background: var(--rcpc-brand); color: #fff; }
.rcpc-th-cta.is-free { background: var(--rcpc-free); color: #fff; }
.rcpc-grp td { background: var(--rcpc-head); padding: 0; }
.rcpc-grp button { display: flex; width: 100%; align-items: center; gap: .5rem; padding: .55rem .75rem; background: none; border: 0; cursor: pointer; font-weight: 800; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--rcpc-ink); text-align: left; font-family: inherit; }
.rcpc-grp button small { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--rcpc-muted); }
.rcpc-grp svg { width: 1rem; height: 1rem; transition: transform .15s; color: var(--rcpc-muted); }
.rcpc-grp button[aria-expanded="false"] svg { transform: rotate(-90deg); }
.rcpc-grp-sticky { position: sticky; left: .75rem; display: inline-flex; gap: .5rem; align-items: center; }
.rcpc-fhead { display: flex; align-items: flex-start; gap: .15rem; }
.rcpc-fhead > span { min-width: 0; }
.rcpc-flabel { font-weight: 600; }
.rcpc-fdesc { display: block; font-size: .7rem; color: var(--rcpc-muted); font-weight: 400; margin-top: .1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 17.5rem; }
.rcpc-yes { display: inline-flex; width: 1.4rem; height: 1.4rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--rcpc-ok-soft); color: var(--rcpc-ok); }
.rcpc-yes::before { width: .9rem; height: .9rem; }
.rcpc-no { color: var(--rcpc-muted); opacity: .6; }
.rcpc-locked { display: inline-flex; color: var(--rcpc-muted); opacity: .75; }
.rcpc-locked::before { width: .85rem; height: .85rem; }
.rcpc-val { font-variant-numeric: tabular-nums; font-weight: 600; }
.rcpc-val.is-unl { color: var(--rcpc-ok); }
.rcpc-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.rcpc-legend { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .75rem; color: var(--rcpc-muted); margin-top: .75rem; align-items: center; }
.rcpc-legend span { display: inline-flex; align-items: center; gap: .35rem; }
@media (max-width: 640px) {
    .rcpc-tbl { min-width: 32rem; font-size: .76rem; }
    .rcpc-tbl th, .rcpc-tbl td { padding: .45rem .4rem; }
    .rcpc-tbl .rcpc-col1 { min-width: 9rem; max-width: 9rem; width: 9rem; white-space: normal; box-shadow: 4px 0 6px -4px rgba(15,23,42,.18); }
    .rcpc-fdesc { display: none; }
    .rcpc-th-cta { padding: .25rem .45rem; font-size: .68rem; }
}

/* Marketing plan cards */
.rcpc-mfree { display: grid; gap: 1.25rem; grid-template-columns: minmax(0,1fr); align-items: center; padding: 1.5rem; border: 1px solid #a7f3d0; border-radius: var(--rcpc-radius); background: linear-gradient(90deg, var(--rcpc-free-soft), var(--rcpc-card) 55%); box-shadow: var(--rcpc-shadow); margin-bottom: 2rem; }
@media (min-width: 1024px) { .rcpc-mfree { grid-template-columns: 15rem minmax(0,1fr) 14rem; } }
.rcpc-mfree .rcpc-feat { border-top: 0; margin: 0; padding: 0; }
@media (min-width: 640px) { .rcpc-mfree .rcpc-list.is-limits { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .3rem 1rem; } }
.rcpc-mgrid { display: grid; gap: 1.5rem; grid-template-columns: minmax(0,1fr); align-items: stretch; }
@media (min-width: 768px) { .rcpc-mgrid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1200px) { .rcpc-mgrid.is-4 { grid-template-columns: repeat(4, minmax(0,1fr)); } .rcpc-mgrid.is-3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.rcpc-mcard { position: relative; display: flex; flex-direction: column; gap: .6rem; padding: 1.6rem 1.4rem; border: 1px solid var(--rcpc-line); border-radius: var(--rcpc-radius); background: var(--rcpc-card); box-shadow: var(--rcpc-shadow); }
.rcpc-mcard.is-hl { border-color: var(--rcpc-brand); box-shadow: 0 0 0 3px rgba(99,102,241,.18), 0 20px 40px -20px rgba(79,70,229,.35); }
.rcpc-mcard-badge { position: absolute; top: -.8rem; right: 1.25rem; border-radius: 999px; padding: .2rem .75rem; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; background: linear-gradient(90deg, #4f46e5, #3730a3); color: #fff; box-shadow: 0 4px 10px rgba(79,70,229,.3); }
.rcpc-mname { font-size: 1.4rem; font-weight: 800; color: var(--rcpc-ink); line-height: 1.2; margin: 0; }
.rcpc-mtag { font-size: .8rem; color: var(--rcpc-muted); margin: 0; min-height: 2.4rem; }
.rcpc-mprice { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem; }
.rcpc-mprice strong { font-size: 2.35rem; font-weight: 800; color: var(--rcpc-ink); line-height: 1; letter-spacing: -.02em; }
.rcpc-mprice span { font-size: .85rem; font-weight: 700; color: var(--rcpc-muted); }
.rcpc-mmeta { font-size: .72rem; color: var(--rcpc-muted); margin: 0; }
.rcpc-mlife { font-size: .78rem; font-weight: 700; color: var(--rcpc-text); margin: 0; min-height: 1.15rem; }
.rcpc-mcta { display: inline-flex; justify-content: center; align-items: center; gap: .4rem; width: 100%; border-radius: .9rem; padding: .85rem 1rem; font-size: .88rem; font-weight: 800; text-decoration: none; background: var(--rcpc-ink); color: #fff; transition: background-color .15s, transform .15s; }
.rcpc-mcta:hover { background: #1e293b; transform: translateY(-1px); }
.rcpc-mcta.is-hl { background: var(--rcpc-brand); box-shadow: 0 10px 20px -10px rgba(79,70,229,.6); }
.rcpc-mcta.is-hl:hover { background: var(--rcpc-brand-ink); }
.rcpc-mcta.is-free { background: var(--rcpc-free); }
.rcpc-mcta.is-free:hover { background: #047857; }
.rcpc-mcta-alt { display: block; text-align: center; font-size: .75rem; font-weight: 700; color: var(--rcpc-brand); text-decoration: none; }
.rcpc-mcta-alt:hover { text-decoration: underline; }
.rcpc-mnote { margin: 1.25rem 0 0; text-align: center; font-size: .78rem; color: var(--rcpc-muted); }
.rcpc-mmore { margin-top: 1.5rem; text-align: center; }
.rcpc-mmore a { display: inline-flex; align-items: center; gap: .4rem; font-size: .9rem; font-weight: 800; color: var(--rcpc-brand); text-decoration: underline; text-underline-offset: 4px; }

/* Popover / bottom sheet (appended to <body> by plans-compare.js) */
.rcpc-pop { position: fixed; z-index: 70; top: 0; left: 0; width: min(23rem, calc(100vw - 1.5rem)); max-height: min(70vh, 32rem); overflow: auto; overscroll-behavior: contain; padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--rcpc-line); border-radius: .9rem; background: var(--rcpc-card); color: var(--rcpc-text); box-shadow: 0 20px 45px -12px rgba(15,23,42,.35), 0 2px 6px rgba(15,23,42,.08); font-size: .82rem; line-height: 1.5; text-align: left; }
.rcpc-pop[hidden], .rcpc-pop-backdrop[hidden] { display: none !important; }
.rcpc-pop-backdrop { position: fixed; inset: 0; z-index: 69; background: rgba(15,23,42,.45); }
.rcpc-pop-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: .4rem; }
.rcpc-pop-head h3 { margin: 0; font-size: .95rem; font-weight: 800; color: var(--rcpc-ink); line-height: 1.3; }
.rcpc-pop-x { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; margin: -.3rem -.4rem 0 0; border: 0; border-radius: .5rem; background: transparent; color: var(--rcpc-muted); cursor: pointer; font-size: 1.2rem; line-height: 1; }
.rcpc-pop-x:hover { background: var(--rcpc-line-soft); color: var(--rcpc-ink); }
.rcpc-pop-x:focus-visible { outline: 2px solid var(--rcpc-brand); outline-offset: 1px; }
.rcpc-pop p { margin: 0 0 .55rem; }
.rcpc-d-sum { color: var(--rcpc-ink); }
.rcpc-d-h { margin: .6rem 0 .25rem; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--rcpc-muted); }
.rcpc-d-list { margin: 0 0 .4rem; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .25rem; }
.rcpc-d-list li { position: relative; padding-left: 1.1rem; }
.rcpc-d-list li::before { content: ""; position: absolute; left: .2rem; top: .55em; width: .4rem; height: .4rem; border-radius: 999px; background: var(--rcpc-ok); }
.rcpc-d-ex { margin-top: .6rem; padding: .55rem .7rem; border-radius: .6rem; background: var(--rcpc-brand-soft); color: var(--rcpc-ink); }
.rcpc-d-plans { margin-top: .6rem; padding-top: .55rem; border-top: 1px dashed var(--rcpc-line); font-size: .75rem; color: var(--rcpc-muted); }
.rcpc-d-plans strong { color: var(--rcpc-ink); }
.rcpc-d-more { display: inline-block; margin-top: .5rem; font-weight: 700; color: var(--rcpc-brand); }
@media (max-width: 639px) {
    .rcpc-pop { top: auto !important; left: 0 !important; right: 0; bottom: 0; width: 100%; max-height: 80vh; border-radius: 1.1rem 1.1rem 0 0; border-width: 1px 0 0; padding: 1.1rem 1.15rem calc(1.25rem + env(safe-area-inset-bottom)); font-size: .9rem; }
    .rcpc-pop::before { content: ""; display: block; width: 2.5rem; height: .25rem; margin: -.35rem auto .7rem; border-radius: 999px; background: var(--rcpc-line); }
}
