/* Reseller portal (/reseller/*) and the admin reseller page. Uses the shared .btn, .form-control,
   .form-select, .table-base and .alert-message styles from site.css. */

.rp-shell,
.rp-apply,
.rp-admin {
    --rp-ink: #0b1733;
    --rp-muted: #5a6882;
    --rp-line: #dfe6f1;
    --rp-paper: #f4f7fc;
    --rp-blue: #0057e6;
    --rp-blue-soft: #e8f0ff;
    --rp-mint: #0d9f6e;
    --rp-mint-soft: #e5f8f0;
    --rp-amber: #b86a00;
    --rp-amber-soft: #fff4e0;
    --rp-rose: #c7283f;
    --rp-rose-soft: #ffecef;
}

.rp-shell {
    min-height: 100vh;
    background: radial-gradient(60rem 30rem at 100% -10%, rgba(0, 87, 230, .07), transparent 60%), var(--rp-paper);
    color: var(--rp-ink);
}

.rp-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    border-bottom: 1px solid var(--rp-line);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(12px);
}

.rp-topbar-inner {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    max-width: 84rem;
    margin: 0 auto;
    padding: .75rem 1.25rem;
}

.rp-brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.rp-brand img { height: 2.4rem; width: auto; }
.rp-badge {
    border-radius: 999px;
    background: var(--rp-ink);
    padding: .2rem .6rem;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rp-nav { display: flex; flex: 1; gap: .25rem; }
.rp-nav a {
    border-radius: .7rem;
    padding: .55rem .9rem;
    color: #3b4863;
    font-size: .92rem;
    font-weight: 600;
    text-decoration: none;
}
.rp-nav a:hover { background: #eef2fa; color: var(--rp-ink); }
.rp-nav a.active { background: var(--rp-blue-soft); color: var(--rp-blue); }

.rp-account { display: flex; align-items: center; gap: .9rem; margin-left: auto; }
.rp-org { display: grid; text-align: right; line-height: 1.25; }
.rp-org strong { font-size: .9rem; }
.rp-org small { color: var(--rp-muted); font-size: .78rem; }
.rp-link-button {
    border: 0;
    background: none;
    color: #3b4863;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.rp-link-button:hover { color: var(--rp-blue); }

.rp-main { max-width: 84rem; margin: 0 auto; padding: 1.75rem 1.25rem 4rem; }

.rp-page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.rp-eyebrow {
    margin: 0 0 .3rem;
    color: var(--rp-blue);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.rp-page-head h1 { margin: 0; font-size: 1.75rem; font-weight: 800; letter-spacing: -.03em; }
.rp-page-head p { margin: .35rem 0 0; color: var(--rp-muted); max-width: 44rem; }
.rp-actions { display: flex; flex-wrap: wrap; gap: .6rem; }

.rp-card {
    border: 1px solid var(--rp-line);
    border-radius: 1rem;
    background: #fff;
    padding: 1.25rem;
    box-shadow: 0 10px 30px -24px rgba(11, 23, 51, .35);
}
.rp-card + .rp-card { margin-top: 1rem; }
.rp-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.rp-card-head h2 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.rp-card-head p { margin: .2rem 0 0; color: var(--rp-muted); font-size: .88rem; }

.rp-grid { display: grid; gap: 1rem; }
.rp-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rp-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rp-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rp-split { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1rem; align-items: start; }

.rp-stat { display: grid; gap: .25rem; }
.rp-stat span { color: var(--rp-muted); font-size: .8rem; font-weight: 700; }
.rp-stat strong { font-size: 1.9rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.rp-stat small { color: var(--rp-muted); font-size: .8rem; }
.rp-stat.is-attention strong { color: var(--rp-amber); }

.rp-pool { display: grid; gap: .5rem; padding: .9rem 0; border-top: 1px solid #eef2f8; }
.rp-pool:first-of-type { border-top: 0; padding-top: 0; }
.rp-pool-head { display: flex; justify-content: space-between; gap: 1rem; font-size: .92rem; }
.rp-pool-head strong { font-weight: 700; }
.rp-pool-head span { color: var(--rp-muted); font-variant-numeric: tabular-nums; }
.rp-meter { position: relative; height: .55rem; overflow: hidden; border-radius: 999px; background: #eaf0f8; }
.rp-meter i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: linear-gradient(90deg, var(--rp-blue), #4f8dff); }

.rp-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    padding: .2rem .6rem;
    font-size: .75rem;
    font-weight: 700;
    white-space: nowrap;
}
.rp-pill::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }
.rp-pill.is-blue { background: var(--rp-blue-soft); color: var(--rp-blue); }
.rp-pill.is-mint { background: var(--rp-mint-soft); color: var(--rp-mint); }
.rp-pill.is-amber { background: var(--rp-amber-soft); color: var(--rp-amber); }
.rp-pill.is-rose { background: var(--rp-rose-soft); color: var(--rp-rose); }
.rp-pill.is-grey { background: #eef1f6; color: #5a6882; }

.rp-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.rp-table th {
    padding: .6rem .75rem;
    border-bottom: 1px solid var(--rp-line);
    color: var(--rp-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.rp-table td { padding: .75rem; border-bottom: 1px solid #eef2f8; vertical-align: middle; }
.rp-table tr:last-child td { border-bottom: 0; }
.rp-table tr.is-selected td { background: #f5f9ff; }
.rp-table .rp-num { text-align: right; font-variant-numeric: tabular-nums; }
.rp-table-scroll { overflow-x: auto; }
.rp-company-name { font-weight: 700; }
.rp-sub { display: block; color: var(--rp-muted); font-size: .8rem; }

.rp-field { display: grid; gap: .35rem; align-content: start; }
.rp-field > span { color: #334155; font-size: .82rem; font-weight: 700; }
.rp-field small { color: var(--rp-muted); font-size: .78rem; }
.rp-form { display: grid; gap: .9rem; }
.rp-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.rp-check { display: flex; gap: .6rem; align-items: flex-start; color: #334155; font-size: .88rem; }
.rp-check input { margin-top: .2rem; accent-color: var(--rp-blue); }

.rp-segment { display: inline-flex; gap: .2rem; border-radius: .8rem; background: #eef2f8; padding: .25rem; }
.rp-segment button {
    border: 0;
    border-radius: .6rem;
    background: transparent;
    padding: .45rem .9rem;
    color: var(--rp-muted);
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
}
.rp-segment button.is-active { background: #fff; color: var(--rp-ink); box-shadow: 0 2px 8px -4px rgba(11, 23, 51, .4); }
.rp-segment button:disabled { cursor: not-allowed; opacity: .6; }

.rp-price { display: flex; align-items: baseline; gap: .4rem; }
.rp-price strong { font-size: 1.6rem; font-weight: 800; letter-spacing: -.03em; }
.rp-price span { color: var(--rp-muted); font-size: .85rem; }
.rp-saving { color: var(--rp-mint); font-size: .82rem; font-weight: 700; }

.rp-note {
    border-radius: .8rem;
    background: var(--rp-blue-soft);
    padding: .75rem .9rem;
    color: #22325a;
    font-size: .86rem;
    line-height: 1.5;
}
.rp-note.is-amber { background: var(--rp-amber-soft); color: #6b4200; }
.rp-note.is-rose { background: var(--rp-rose-soft); color: #7a1526; }
.rp-empty {
    border: 1px dashed #cfd9e8;
    border-radius: .9rem;
    background: #fafcff;
    padding: 1.5rem;
    color: var(--rp-muted);
    text-align: center;
    font-size: .9rem;
}

.rp-drawer-scrim { position: fixed; inset: 0; z-index: 60; border: 0; background: rgba(8, 20, 45, .45); }
.rp-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 70;
    display: flex;
    flex-direction: column;
    width: min(38rem, 100vw);
    background: #fff;
    box-shadow: -20px 0 60px -20px rgba(8, 20, 45, .45);
    animation: rp-drawer-in .28s cubic-bezier(.22, 1, .36, 1);
}
.rp-drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--rp-line);
    padding: 1.1rem 1.25rem;
}
.rp-drawer-head h2 { margin: 0; font-size: 1.2rem; font-weight: 800; }
.rp-drawer-body { flex: 1; overflow-y: auto; padding: 1.25rem; display: grid; gap: 1.25rem; align-content: start; }
.rp-drawer-section h3 { margin: 0 0 .75rem; font-size: .95rem; font-weight: 800; }
.rp-close { border: 0; background: none; font-size: 1.6rem; line-height: 1; color: var(--rp-muted); cursor: pointer; }
.rp-serial {
    display: inline-block;
    border-radius: .5rem;
    background: #f1f4f9;
    padding: .25rem .5rem;
    font-family: ui-monospace, Consolas, monospace;
    font-size: .82rem;
    user-select: all;
}
.rp-kv { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; font-size: .88rem; }
.rp-kv dt { color: var(--rp-muted); }
.rp-kv dd { margin: 0; font-weight: 600; }

.rp-state { display: grid; place-items: center; gap: .5rem; min-height: 50vh; text-align: center; }
.rp-state h1 { margin: 0; font-size: 1.4rem; }
.rp-state p { margin: 0; color: var(--rp-muted); max-width: 32rem; }

@keyframes rp-drawer-in { from { transform: translateX(2rem); opacity: .6; } to { transform: none; opacity: 1; } }

@media (max-width: 1000px) {
    .rp-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rp-split { grid-template-columns: 1fr; }
    .rp-org { display: none; }
}

@media (max-width: 700px) {
    .rp-topbar-inner { flex-wrap: wrap; gap: .75rem; }
    .rp-nav { order: 3; flex-basis: 100%; overflow-x: auto; }
    .rp-grid-3, .rp-grid-2, .rp-form-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .rp-drawer { animation: none; }
}

/* Public application page */
.rp-apply { max-width: 46rem; margin: 0 auto; padding: 1rem 0 3rem; }
.rp-apply-hero { margin-bottom: 1.5rem; }
.rp-apply-hero h1 { margin: .25rem 0 .5rem; font-size: 2rem; font-weight: 800; letter-spacing: -.03em; color: #0b1733; }
.rp-apply-hero p { margin: 0; color: #5a6882; }
.rp-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1.25rem 0; }
.rp-benefits div { border: 1px solid #dfe6f1; border-radius: .9rem; background: #fff; padding: .9rem; font-size: .85rem; color: #5a6882; }
.rp-benefits strong { display: block; margin-bottom: .25rem; color: #0b1733; font-size: .92rem; }
@media (max-width: 700px) { .rp-benefits { grid-template-columns: 1fr; } }

/* Key/value rows written as span + strong pairs */
.rp-kv > span { color: var(--rp-muted); }
.rp-kv > strong { font-weight: 600; }

/* Plan picker on the Licences page */
.rp-plan {
    display: grid;
    gap: .3rem;
    align-content: start;
    border: 1.5px solid var(--rp-line);
    border-radius: 1rem;
    background: #fff;
    padding: .9rem 1rem;
    color: var(--rp-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.rp-plan:hover { border-color: #b9c9e4; transform: translateY(-1px); }
.rp-plan:focus-visible { outline: 3px solid rgba(0, 87, 230, .35); outline-offset: 2px; }
.rp-plan.is-selected { border-color: var(--rp-blue); box-shadow: 0 0 0 3px rgba(0, 87, 230, .12); }
.rp-plan > strong { font-size: .95rem; font-weight: 800; }
.rp-plan-amount { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.rp-plan-amount small { margin-left: .2rem; color: var(--rp-muted); font-size: .75rem; font-weight: 600; letter-spacing: 0; }

.rp-steps { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.rp-steps li { border-left: 3px solid var(--rp-blue-soft); padding-left: .8rem; color: var(--rp-muted); font-size: .88rem; line-height: 1.5; }
.rp-steps strong { display: block; color: var(--rp-ink); }

/* Manage drawer polish */
.rp-drawer-section + .rp-drawer-section { border-top: 1px solid var(--rp-line); padding-top: 1.25rem; }
.rp-table td.rp-num { white-space: nowrap; }
.rp-table td .btn + .btn { margin-left: .4rem; }
.rp-pool-after { color: var(--rp-ink) !important; }
.rp-pool-after strong { color: var(--rp-blue); }

/* Cards inside grids are spaced by the grid gap, not the stacked-card margin. */
.rp-grid > .rp-card,
.rp-split > .rp-card,
.rp-buy > .rp-card { margin-top: 0; }
.rp-section { margin-top: 1rem; }
.rp-table tr.is-muted td { color: var(--rp-muted); }
.rp-segment button:disabled.is-active { opacity: 1; }
.rp-segment-badge { margin-left: .3rem; border-radius: 999px; background: var(--rp-mint-soft); padding: .05rem .4rem; color: var(--rp-mint); font-size: .7rem; }

/* Licence pool cards */
.rp-poolcards { margin-bottom: 1rem; }
.rp-poolcard { display: flex; flex-direction: column; gap: .75rem; }
.rp-poolcard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.rp-poolcard-head h2 { margin: 0; font-size: 1rem; font-weight: 800; }
.rp-poolcard-figure { display: flex; align-items: baseline; gap: .5rem; }
.rp-poolcard-figure strong { font-size: 2.4rem; font-weight: 800; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.rp-poolcard-figure span { color: var(--rp-muted); font-size: .85rem; font-weight: 600; }
.rp-poolcard.is-full .rp-poolcard-figure strong { color: var(--rp-amber); }
.rp-poolcard.is-full .rp-meter i { background: linear-gradient(90deg, #d98a1c, #f0b44c); }
.rp-poolcard-scale { display: flex; justify-content: space-between; margin-top: -.35rem; color: var(--rp-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.rp-poolcard-scale b { color: var(--rp-ink); }
.rp-poolcard-facts { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; color: var(--rp-muted); font-size: .8rem; }
.rp-poolcard-facts:empty { display: none; }
.rp-poolcard-facts .is-amber { color: var(--rp-amber); font-weight: 600; }
.rp-poolcard-actions { display: flex; gap: .5rem; margin-top: auto; padding-top: .25rem; }

/* Buy section: configurator + sticky order summary */
.rp-buy { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1rem; align-items: start; scroll-margin-top: 5rem; }
.rp-plan-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.rp-plan-owned { border-radius: 999px; background: var(--rp-blue-soft); padding: .1rem .45rem; color: var(--rp-blue); font-size: .68rem; font-weight: 700; white-space: nowrap; }

.rp-stepper { display: flex; overflow: hidden; border: 1px solid #cfd9e8; border-radius: .75rem; background: #fff; }
.rp-stepper:focus-within { border-color: var(--rp-blue); box-shadow: 0 0 0 3px rgba(0, 87, 230, .12); }
.rp-stepper button { width: 2.75rem; border: 0; background: #f4f7fc; color: var(--rp-ink); font-size: 1.15rem; font-weight: 700; cursor: pointer; }
.rp-stepper button:hover:not(:disabled) { background: var(--rp-blue-soft); color: var(--rp-blue); }
.rp-stepper button:disabled { cursor: not-allowed; opacity: .45; }
.rp-stepper input { flex: 1; min-width: 0; border: 0; padding: .6rem; text-align: center; font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; outline: none; -moz-appearance: textfield; }
.rp-stepper input::-webkit-outer-spin-button,
.rp-stepper input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.rp-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.rp-chips button { border: 1px solid var(--rp-line); border-radius: 999px; background: #fff; padding: .2rem .65rem; color: var(--rp-muted); font-size: .78rem; font-weight: 700; cursor: pointer; }
.rp-chips button:hover { border-color: #b9c9e4; color: var(--rp-ink); }
.rp-chips button.is-active { border-color: var(--rp-blue); background: var(--rp-blue-soft); color: var(--rp-blue); }

.rp-summary { position: sticky; top: 5.5rem; display: grid; gap: .9rem; border-color: #cddcf5; box-shadow: 0 18px 40px -28px rgba(0, 87, 230, .45); }
.rp-summary h2 { margin: 0; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--rp-muted); }
.rp-summary-plan { display: grid; gap: .1rem; }
.rp-summary-plan strong { font-size: 1.15rem; font-weight: 800; }
.rp-summary-plan span { color: var(--rp-muted); font-size: .85rem; }
.rp-summary-rows { display: grid; gap: .45rem; margin: 0; border-top: 1px dashed var(--rp-line); padding-top: .8rem; font-size: .88rem; }
.rp-summary-rows div { display: flex; justify-content: space-between; gap: 1rem; }
.rp-summary-rows dt { color: var(--rp-muted); }
.rp-summary-rows dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.rp-summary-rows .is-saving dt, .rp-summary-rows .is-saving dd { color: var(--rp-mint); }
.rp-summary-total { display: flex; align-items: baseline; justify-content: space-between; border-top: 1px solid var(--rp-line); padding-top: .8rem; }
.rp-summary-total span { font-weight: 700; }
.rp-summary-total strong { font-size: 1.7rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.rp-summary-note { margin: 0; color: var(--rp-muted); font-size: .82rem; line-height: 1.5; }
.rp-summary-note b { color: var(--rp-ink); }
.rp-summary-cta { width: 100%; justify-content: center; padding-top: .75rem; padding-bottom: .75rem; }
.rp-summary-secure { margin: -.4rem 0 0; color: var(--rp-muted); font-size: .75rem; text-align: center; }

.rp-tips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.rp-tips div { display: grid; gap: .25rem; border-left: 3px solid var(--rp-blue-soft); padding: .15rem 0 .15rem .8rem; font-size: .82rem; }
.rp-tips strong { color: var(--rp-ink); }
.rp-tips span { color: var(--rp-muted); line-height: 1.5; }

@media (max-width: 1100px) {
    .rp-buy { grid-template-columns: 1fr; }
    .rp-summary { position: static; }
    .rp-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .rp-tips { grid-template-columns: 1fr; }
}

/* Reseller agreement */
.rp-agreement-banner {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem;
    margin-bottom: 1.25rem; border-radius: .9rem; padding: .75rem 1rem; font-size: .88rem;
}
.rp-agreement-banner.is-amber { border: 1px solid #f3d7a4; background: var(--rp-amber-soft); color: #6b4200; }
.rp-agreement-banner.is-rose { border: 1px solid #f5c2cb; background: var(--rp-rose-soft); color: #7a1526; }
.rp-link-button.has-dot { position: relative; }
.rp-link-button.has-dot::after { content: ""; position: absolute; top: .1rem; right: -.35rem; width: .45rem; height: .45rem; border-radius: 50%; background: var(--rp-amber); }

.rp-agreement-status { margin-bottom: 1rem; border-radius: 1rem; padding: 1rem 1.2rem; }
.rp-agreement-status div { display: grid; gap: .2rem; }
.rp-agreement-status strong { font-size: 1rem; }
.rp-agreement-status span { font-size: .88rem; opacity: .9; }
.rp-agreement-status.is-mint { background: var(--rp-mint-soft); color: #135c44; }
.rp-agreement-status.is-blue { background: var(--rp-blue-soft); color: #1d3a7a; }
.rp-agreement-status.is-amber { background: var(--rp-amber-soft); color: #6b4200; }
.rp-agreement-status.is-rose { background: var(--rp-rose-soft); color: #7a1526; }

.rp-agreement { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: 1rem; align-items: start; }
.rp-agreement > .rp-card { margin-top: 0; }
.rp-agreement-doc { display: grid; gap: .9rem; }
.rp-agreement-frame { width: 100%; height: 72vh; min-height: 32rem; border: 1px solid var(--rp-line); border-radius: .8rem; background: #f4f7fc; }
.rp-agreement-side { position: sticky; top: 5.5rem; display: grid; gap: .9rem; }
.rp-agreement-side h2 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.rp-agreement-history-title { margin: .5rem 0 0; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rp-muted); }
.rp-agreement-history { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.rp-agreement-history li { display: grid; grid-template-columns: 1fr auto; gap: .1rem .75rem; border-top: 1px solid #eef2f8; padding-top: .5rem; font-size: .85rem; }
.rp-agreement-history li span { grid-column: 1; color: var(--rp-muted); font-size: .8rem; }
.rp-agreement-history li a { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--rp-blue); font-weight: 700; }

.rp-apply-agreement {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem;
    border: 1px solid #cddcf5; border-radius: .9rem; background: #f5f9ff; padding: .85rem 1rem;
}
.rp-apply-agreement div { display: grid; gap: .15rem; }
.rp-apply-agreement span { color: #5a6882; font-size: .85rem; }

@media (max-width: 1000px) {
    .rp-agreement { grid-template-columns: 1fr; }
    .rp-agreement-side { position: static; }
    .rp-agreement-frame { height: 60vh; min-height: 24rem; }
}

/* Table rows: the name opens the row's details; secondary columns give way on phones. */
.rp-row-link { display: inline; padding: 0; border: 0; background: none; color: var(--rp-ink); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.rp-row-link:hover, .rp-row-link:focus-visible { color: var(--rp-blue); text-decoration: underline; }
.rp-empty-row { padding: 1.25rem .75rem; text-align: center; color: var(--rp-muted); }
.rp-empty-row .rp-row-link { color: var(--rp-blue); font-weight: 600; margin-left: .35rem; }
.rp-confirm { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .35rem; }
.rp-sub.is-warning { color: #b45309; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 700px) { .rp-hide-sm { display: none; } }
.rp-required { font-weight: 500; color: var(--rp-muted); }
