:root {
    --rb-bg: #07111f;
    --rb-bg-soft: #0d1b2e;
    --rb-card: rgba(255,255,255,.075);
    --rb-card-strong: rgba(255,255,255,.12);
    --rb-border: rgba(255,255,255,.14);
    --rb-text: #f8fbff;
    --rb-muted: #a8b3c5;
    --rb-accent: #51f0c8;
    --rb-accent-2: #8a7dff;
    --rb-warning: #ffd166;
    --rb-danger: #ff6b6b;
    --rb-success: #5cff9d;
    --rb-radius: 24px;
    --rb-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.rb-body {
    min-height: 100vh;
    margin: 0;
    background: 
        radial-gradient(circle at 10% 10%, rgba(81,240,200,.18), transparent 28%),
        radial-gradient(circle at 88% 6%, rgba(138,125,255,.18), transparent 30%),
        linear-gradient(135deg, #07111f 0%, #0a1021 52%, #111827 100%);
    color: var(--rb-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-bottom: 88px;
}

a { color: inherit; }

.rb-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.rb-topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    backdrop-filter: blur(20px);
    background: rgba(7, 17, 31, .7);
    border-bottom: 1px solid var(--rb-border);
}

.rb-topbar-inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    gap: 18px;
}

.rb-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-weight: 900;
    letter-spacing: -.03em;
    font-size: 1.1rem;
}

.rb-brand-mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--rb-accent), var(--rb-accent-2));
    box-shadow: 0 16px 40px rgba(81,240,200,.22);
    color: #06111d;
}

.rb-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.rb-nav a {
    text-decoration: none;
    color: var(--rb-muted);
    padding: 10px 12px;
    border-radius: 999px;
    transition: .22s ease;
    font-weight: 700;
    font-size: .92rem;
}

.rb-nav a:hover,
.rb-nav a.active {
    color: var(--rb-text);
    background: rgba(255,255,255,.08);
}

.rb-btn,
button.rb-btn {
    border: 0;
    outline: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 12px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer;
    color: #06111d;
    background: linear-gradient(135deg, var(--rb-accent), #b6ffe9);
    box-shadow: 0 16px 38px rgba(81,240,200,.20);
    transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.rb-btn:hover { transform: translateY(-2px); color: #06111d; box-shadow: 0 20px 46px rgba(81,240,200,.28); }
.rb-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.rb-btn.rb-btn-ghost {
    color: var(--rb-text);
    background: rgba(255,255,255,.08);
    border: 1px solid var(--rb-border);
    box-shadow: none;
}

.rb-btn.rb-btn-ghost:hover { color: var(--rb-text); background: rgba(255,255,255,.13); }

.rb-btn.rb-btn-danger {
    background: linear-gradient(135deg, var(--rb-danger), #ffadad);
    color: #210407;
}

.rb-hero {
    padding: 72px 0 44px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
    gap: 34px;
    align-items: center;
}

.rb-kicker {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(81,240,200,.10);
    border: 1px solid rgba(81,240,200,.24);
    color: #b8fff0;
    font-weight: 800;
    font-size: .88rem;
    margin-bottom: 18px;
}

.rb-hero h1,
.rb-page-title h1 {
    margin: 0;
    font-size: clamp(2.35rem, 6vw, 5.2rem);
    line-height: .95;
    letter-spacing: -.075em;
}

.rb-gradient-text {
    background: linear-gradient(135deg, var(--rb-accent), #ffffff 35%, var(--rb-accent-2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.rb-lead {
    color: var(--rb-muted);
    font-size: 1.08rem;
    line-height: 1.75;
    margin: 22px 0 0;
    max-width: 720px;
}

.rb-hero-actions {
    margin-top: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.rb-glass,
.rb-stat,
.rb-package-card,
.rb-panel,
.rb-table-wrap {
    background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.055));
    border: 1px solid var(--rb-border);
    border-radius: var(--rb-radius);
    box-shadow: var(--rb-shadow);
}

.rb-hero-card {
    padding: 18px;
    min-height: 400px;
    position: relative;
    overflow: hidden;
}

.rb-hero-card:before {
    content: "";
    position: absolute;
    inset: -40% -20% auto auto;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(81,240,200,.35), transparent 65%);
    filter: blur(10px);
}

.rb-mini-dashboard {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}

.rb-mini-line {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 18px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.1);
}

.rb-mini-line strong { font-size: 1.3rem; }
.rb-mini-line span { color: var(--rb-muted); font-size: .92rem; }

.rb-orbit {
    width: 225px;
    height: 225px;
    margin: 18px auto;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.15);
    display: grid;
    place-items: center;
    position: relative;
}

.rb-orbit:before,
.rb-orbit:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px dashed rgba(81,240,200,.45);
}

.rb-orbit:before { inset: 24px; animation: rb-spin 22s linear infinite; }
.rb-orbit:after { inset: 58px; animation: rb-spin 16s linear reverse infinite; }

.rb-orbit-core {
    width: 98px;
    height: 98px;
    border-radius: 32px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--rb-accent), var(--rb-accent-2));
    color: #06111d;
    font-size: 2.2rem;
    box-shadow: 0 20px 60px rgba(81,240,200,.22);
}

@keyframes rb-spin { to { transform: rotate(360deg); } }

.rb-section { padding: 12px 0; }
.rb-section-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 22px; }
.rb-section h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -.045em; margin: 0; }
.rb-section p { color: var(--rb-muted); }

.rb-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.rb-stat { padding: 18px; box-shadow: none; }
.rb-stat span { color: var(--rb-muted); font-size: .86rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.rb-stat strong { display: block; margin-top: 8px; font-size: clamp(1.35rem, 3vw, 2.1rem); letter-spacing: -.04em; }

.rb-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.rb-package-card {
    padding: 22px;
    position: relative;
    overflow: hidden;
    box-shadow: none;
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.rb-package-card:hover,
.rb-package-card.is-selected {
    transform: translateY(-6px);
    border-color: rgba(81,240,200,.42);
    background: linear-gradient(180deg, rgba(81,240,200,.14), rgba(255,255,255,.055));
}

.rb-package-card.is-featured:after {
    content: "Popular";
    position: absolute;
    top: 16px;
    right: 16px;
    border-radius: 999px;
    padding: 6px 10px;
    color: #06111d;
    font-size: .72rem;
    font-weight: 900;
    background: var(--rb-warning);
}

.rb-package-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(81,240,200,.14);
    color: var(--rb-accent);
    font-size: 1.3rem;
    margin-bottom: 14px;
}

.rb-package-card h3 { margin: 0 0 6px; font-size: 1.35rem; }
.rb-package-card .rb-package-sub { color: var(--rb-muted); min-height: 46px; }
.rb-rate { display: flex; align-items: baseline; gap: 7px; margin: 20px 0 8px; }
.rb-rate strong { font-size: 2.3rem; letter-spacing: -.06em; }
.rb-rate span { color: var(--rb-muted); font-weight: 800; }
.rb-package-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 18px; }
.rb-chip { padding: 10px 12px; border-radius: 14px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.rb-chip small { color: var(--rb-muted); display:block; font-size: .72rem; }
.rb-chip b { font-size: .92rem; }

.rb-calculator {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 20px;
    align-items: stretch;
}

.rb-panel { padding: 20px; box-shadow: none; }
.rb-panel h3 { margin: 0 0 14px; letter-spacing: -.03em; }

.rb-field { margin-bottom: 15px; }
.rb-field label { display: block; font-weight: 900; color: var(--rb-text); margin-bottom: 8px; }
.rb-field input,
.rb-field select {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--rb-border);
    border-radius: 16px;
    background: rgba(0,0,0,.22);
    color: var(--rb-text);
    padding: 0 14px;
    outline: 0;
}
.rb-field input:focus,
.rb-field select:focus { border-color: rgba(81,240,200,.56); box-shadow: 0 0 0 4px rgba(81,240,200,.1); }
.rb-field-help { color: var(--rb-muted); font-size: .88rem; margin-top: 8px; }

.rb-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rb-result-box { padding: 16px; border-radius: 18px; background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.08); }
.rb-result-box span { color: var(--rb-muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.rb-result-box strong { display:block; margin-top: 7px; font-size: 1.45rem; letter-spacing: -.04em; }

.rb-page-title { padding: 46px 0 22px; }
.rb-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 18px;
    align-items: start;
}

.rb-progress-card { padding: 24px; }
.rb-ring {
    --progress: 0;
    width: 220px;
    height: 220px;
    margin: 20px auto;
    border-radius: 50%;
    background: conic-gradient(var(--rb-accent) calc(var(--progress) * 1%), rgba(255,255,255,.08) 0);
    display: grid;
    place-items: center;
    position: relative;
}
.rb-ring:after {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    background: #0b1627;
    border: 1px solid rgba(255,255,255,.08);
}
.rb-ring-inner { position: relative; z-index: 1; text-align: center; }
.rb-ring-inner strong { display:block; font-size: 2.7rem; letter-spacing: -.07em; }
.rb-ring-inner span { color: var(--rb-muted); font-weight: 800; }

.rb-empty {
    text-align: center;
    padding: 42px 22px;
    border: 1px dashed rgba(255,255,255,.2);
    border-radius: var(--rb-radius);
    color: var(--rb-muted);
}

.rb-table-wrap { overflow: hidden; box-shadow: none; }
.rb-table { width: 100%; border-collapse: collapse; margin: 0; }
.rb-table th,
.rb-table td { padding: 15px; border-bottom: 1px solid rgba(255,255,255,.08); vertical-align: middle; }
.rb-table th { color: var(--rb-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.rb-table tr:last-child td { border-bottom: 0; }
.rb-status { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 10px; font-weight: 900; font-size: .78rem; }
.rb-status.active { background: rgba(81,240,200,.12); color: #b8fff0; }
.rb-status.completed { background: rgba(92,255,157,.12); color: #c9ffdd; }
.rb-status.cancelled { background: rgba(255,107,107,.12); color: #ffd2d2; }

.rb-alert { padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255,255,255,.12); margin: 16px 0; }
.rb-alert.success { background: rgba(92,255,157,.12); color: #d8ffe6; }
.rb-alert.error { background: rgba(255,107,107,.12); color: #ffe0e0; }
.rb-alert.info { background: rgba(138,125,255,.12); color: #e5e2ff; }

.rb-bottom-nav {
    position: fixed;
    z-index: 80;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    width: min(760px, calc(100% - 24px));
    min-height: 64px;
    border-radius: 24px;
    border: 1px solid var(--rb-border);
    background: rgba(7, 17, 31, .86);
    backdrop-filter: blur(20px);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    box-shadow: 0 22px 60px rgba(0,0,0,.45);
    overflow: hidden;
}
.rb-bottom-nav a {
    display: grid;
    place-items: center;
    gap: 2px;
    text-decoration: none;
    color: var(--rb-muted);
    font-size: .72rem;
    font-weight: 800;
    padding: 8px 6px;
}
.rb-bottom-nav i { font-size: 1.15rem; }
.rb-bottom-nav a.active,
.rb-bottom-nav a:hover { color: var(--rb-accent); background: rgba(255,255,255,.06); }

.rb-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(10px);
    z-index: 120;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.rb-modal-backdrop.is-open { display: flex; }
.rb-modal {
    width: min(520px, 100%);
    border-radius: 28px;
    border: 1px solid var(--rb-border);
    background: #0b1627;
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
    padding: 24px;
}
.rb-modal-head { display:flex; align-items:start; justify-content:space-between; gap:14px; margin-bottom: 12px; }
.rb-modal-head h3 { margin:0; letter-spacing:-.04em; }
.rb-icon-button { width: 42px; height:42px; display:grid; place-items:center; border:1px solid var(--rb-border); border-radius:14px; color:var(--rb-text); background:rgba(255,255,255,.07); cursor:pointer; }

.rb-footer { padding: 38px 0 110px; color: var(--rb-muted); text-align:center; }

@media (max-width: 640px) {
    .rb-hero,
    .rb-calculator,
    .rb-dashboard-grid { grid-template-columns: 1fr; }
    .rb-packages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rb-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 400px) {
    .rb-topbar-inner { min-height: 66px; }
    .rb-nav a:not(.rb-mobile-keep) { display: none; }
    .rb-hero { padding-top: 46px; }
    .rb-packages-grid,
    .rb-result-grid,
    .rb-stats-grid { grid-template-columns: 1fr; }
    .rb-package-meta { grid-template-columns: 1fr; }
    .rb-table { min-width: 760px; }
    .rb-table-wrap { overflow-x: auto; }
    .rb-bottom-nav { grid-template-columns: repeat(5, 1fr); }
    .rb-bottom-nav span { font-size: .65rem; }
}

/* User-friendly package cycle additions */
.rb-friendly-hero {
    position: relative;
}

.rb-steps-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.rb-step-card {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    padding: 18px;
    box-shadow: var(--rb-shadow-soft);
}

.rb-step-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rb-gradient);
    color: #fff;
    font-weight: 800;
    margin-bottom: 10px;
}

.rb-step-card strong,
.rb-step-card small {
    display: block;
}

.rb-step-card strong {
    color: var(--rb-ink);
    font-size: 1rem;
    margin-bottom: 4px;
}

.rb-step-card small {
    color: var(--rb-muted);
    line-height: 1.4;
}

.rb-cycle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.rb-cycle-card {
    overflow: hidden;
}

.rb-cycle-card.is-ready {
    border-color: rgba(22, 163, 74, 0.35);
    box-shadow: 0 20px 60px rgba(22, 163, 74, 0.12);
}

.rb-cycle-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.rb-cycle-top h3 {
    margin-bottom: 4px;
}

.rb-cycle-top p {
    color: var(--rb-muted);
    margin: 0;
}

.rb-ready-pill {
    white-space: nowrap;
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 800;
    font-size: 0.82rem;
}

.rb-ready-pill.ready {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.rb-ready-pill.waiting {
    background: rgba(15, 23, 42, 0.07);
    color: var(--rb-muted);
}

.rb-progress-line {
    height: 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    margin: 18px 0;
    overflow: hidden;
}

.rb-progress-line span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--rb-gradient);
}

.rb-cycle-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.rb-cycle-meta div {
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
    padding: 12px;
}

.rb-cycle-meta small,
.rb-cycle-meta strong {
    display: block;
}

.rb-cycle-meta small {
    color: var(--rb-muted);
    margin-bottom: 3px;
}

.rb-cycle-meta strong {
    color: var(--rb-ink);
}

.rb-cycle-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 14px;
    color: var(--rb-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.rb-cycle-note i {
    color: var(--rb-primary);
    margin-top: 3px;
}

.rb-simple-help p {
    color: var(--rb-muted);
    line-height: 1.65;
}

.rb-package-help {
    color: var(--rb-muted);
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 8px 0 0;
}

.rb-checkin-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(10px);
}

.rb-checkin-modal.is-open {
    display: flex;
}

.rb-checkin-card {
    position: relative;
    width: min(520px, 100%);
    background: #fff;
    border-radius: 28px;
    padding: 26px;
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.30);
}

.rb-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 0;
    background: rgba(15, 23, 42, 0.07);
    color: var(--rb-ink);
    font-size: 1.4rem;
    line-height: 1;
}

.rb-checkin-card h3 {
    margin-bottom: 6px;
}

.rb-checkin-card p {
    color: var(--rb-muted);
}

.rb-checkin-steps {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.rb-checkin-steps button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: rgba(248, 250, 252, 0.95);
    color: var(--rb-ink);
    border-radius: 18px;
    padding: 14px;
    font-weight: 800;
    text-align: left;
}

.rb-checkin-steps button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.08);
}

.rb-checkin-steps button.done {
    background: rgba(22, 163, 74, 0.10);
    border-color: rgba(22, 163, 74, 0.25);
    color: #15803d;
}

.rb-checkin-steps button.done span {
    background: #16a34a;
    color: #fff;
}

.rb-checkin-steps button:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 980px) {
    .rb-steps-row,
    .rb-cycle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rb-cycle-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 400px) {
    .rb-steps-row,
    .rb-cycle-grid,
    .rb-cycle-meta {
        grid-template-columns: 1fr;
    }

    .rb-cycle-top {
        display: block;
    }

    .rb-ready-pill {
        display: inline-flex;
        margin-top: 12px;
    }
}

:root {
    --rb-gradient: linear-gradient(135deg, var(--rb-accent), var(--rb-accent-2));
    --rb-ink: #0f172a;
    --rb-primary: var(--rb-accent);
    --rb-shadow-soft: var(--rb-shadow);
}

/* ===== ReBitnest member page refresh ===== */
.rb-page-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, .72fr);
    gap: 18px;
    align-items: start;
}

.rb-two-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.rb-three-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.rb-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.rb-method-card,
.rb-info-card {
    position: relative;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid var(--rb-border);
    background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.rb-method-card:hover,
.rb-method-card.is-selected {
    transform: translateY(-4px);
    border-color: rgba(81,240,200,.48);
    background: linear-gradient(180deg, rgba(81,240,200,.13), rgba(255,255,255,.055));
}

.rb-method-card h3,
.rb-info-card h3 {
    margin: 0 0 6px;
    letter-spacing: -.025em;
}

.rb-card-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    margin-bottom: 12px;
    background: rgba(81,240,200,.14);
    color: var(--rb-accent);
    font-size: 1.2rem;
}

.rb-copy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.08);
    word-break: break-all;
}

.rb-copy-row code {
    color: var(--rb-text);
    white-space: normal;
}

.rb-icon-btn {
    border: 0;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    color: #06111d;
    background: var(--rb-accent);
    cursor: pointer;
}

.rb-field textarea {
    width: 100%;
    min-height: 120px;
    border: 1px solid var(--rb-border);
    border-radius: 16px;
    background: rgba(0,0,0,.22);
    color: var(--rb-text);
    padding: 14px;
    outline: 0;
    resize: vertical;
}

.rb-field textarea:focus {
    border-color: rgba(81,240,200,.56);
    box-shadow: 0 0 0 4px rgba(81,240,200,.1);
}

.rb-field input::placeholder,
.rb-field textarea::placeholder { color: rgba(168,179,197,.68); }

.rb-form-error {
    display: block;
    color: #ffd2d2;
    font-size: .86rem;
    margin-top: 7px;
}

.rb-mini-list {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 14px 0 0;
    list-style: none;
}

.rb-mini-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--rb-muted);
    line-height: 1.45;
}

.rb-mini-list i {
    color: var(--rb-accent);
    margin-top: 3px;
}

.rb-qr-box {
    display: grid;
    place-items: center;
    margin: 16px 0;
}

.rb-qr-box canvas,
.rb-qr-box img,
.rb-qr-box > div {
    padding: 10px;
    border-radius: 20px;
    background: #fff;
}

.rb-wallet-preview {
    display: grid;
    gap: 10px;
}

.rb-wallet-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.rb-wallet-line:last-child { border-bottom: 0; }
.rb-wallet-line span { color: var(--rb-muted); }
.rb-wallet-line strong { text-align: right; }

.rb-page-note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(138,125,255,.22);
    background: rgba(138,125,255,.10);
    color: #e5e2ff;
    line-height: 1.5;
}

.rb-page-note i { margin-top: 4px; }

.rb-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.rb-profile-card {
    padding: 22px;
    min-height: 100%;
}

.rb-ref-link {
    padding: 16px;
    border-radius: 18px;
    border: 1px dashed rgba(81,240,200,.35);
    background: rgba(0,0,0,.20);
    word-break: break-all;
    color: var(--rb-text);
}

.rb-tier-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.rb-tier-card {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid var(--rb-border);
    background: rgba(0,0,0,.16);
}

.rb-tier-card strong {
    display: block;
    font-size: 1.28rem;
    margin: 6px 0;
}

.rb-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    padding: 0;
    list-style: none;
}

.rb-pagination .page-item .page-link {
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.06);
    color: var(--rb-text);
    border-radius: 12px;
    cursor: pointer;
}

.rb-pagination .page-item.active .page-link {
    background: var(--rb-accent);
    color: #06111d;
    border-color: var(--rb-accent);
    font-weight: 900;
}

.rb-pagination .page-item.disabled .page-link {
    opacity: .45;
    cursor: not-allowed;
}

.rb-toast {
    position: fixed;
    z-index: 1200;
    left: 50%;
    bottom: 96px;
    transform: translateX(-50%) translateY(12px);
    opacity: 0;
    pointer-events: none;
    min-width: min(420px, calc(100% - 32px));
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid var(--rb-border);
    background: rgba(7, 17, 31, .96);
    color: var(--rb-text);
    box-shadow: var(--rb-shadow);
    transition: opacity .22s ease, transform .22s ease;
}

.rb-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.rb-toast.success { border-color: rgba(92,255,157,.35); }
.rb-toast.error { border-color: rgba(255,107,107,.35); }

.rb-soft-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: var(--rb-muted);
    font-weight: 800;
    font-size: .78rem;
}

.rb-status.pending,
.rb-status.Pending { background: rgba(255,209,102,.13); color: #fff0b8; }
.rb-status.approved,
.rb-status.Approved { background: rgba(92,255,157,.12); color: #c9ffdd; }
.rb-status.rejected,
.rb-status.Rejected { background: rgba(255,107,107,.12); color: #ffd2d2; }
.rb-status.yes { background: rgba(92,255,157,.12); color: #c9ffdd; }
.rb-status.no { background: rgba(255,255,255,.08); color: var(--rb-muted); }

@media (max-width: 980px) {
    .rb-page-grid,
    .rb-profile-grid,
    .rb-two-grid,
    .rb-three-grid,
    .rb-tier-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .rb-action-grid { grid-template-columns: 1fr; }
    .rb-copy-row { align-items: flex-start; }
    .rb-section-head { align-items: flex-start; flex-direction: column; }
}
.rb-field input.is-invalid,
.rb-field textarea.is-invalid {
    border-color: rgba(255,107,107,.72);
    box-shadow: 0 0 0 4px rgba(255,107,107,.10);
}


/* ────────────────────────────────────────────────
   ReBitnest Neo member redesign
   These classes create a new product feel for Deposit,
   Withdrawal, Profile and Team without changing backend logic.
──────────────────────────────────────────────── */
.rb-neo-body {
    background:
        radial-gradient(circle at 8% 8%, rgba(45, 212, 191, .18), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(129, 140, 248, .18), transparent 34%),
        radial-gradient(circle at 50% 96%, rgba(251, 191, 36, .10), transparent 34%),
        #06101e;
}

.rb-neo-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 120px;
}

.neo-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
    gap: 24px;
    align-items: stretch;
    min-height: 360px;
    margin-bottom: 22px;
}

.neo-hero::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 34px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255,255,255,.25), rgba(255,255,255,.04), rgba(45,212,191,.24));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.neo-hero-copy,
.neo-orbit-card,
.neo-balance-vault,
.neo-profile-orb,
.neo-network-orb {
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
}

.neo-hero-copy {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(28px, 5vw, 54px);
}

.neo-hero-copy::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    background: rgba(45,212,191,.12);
    filter: blur(4px);
}

.neo-pill,
.neo-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    border-radius: 999px;
    color: #a7f3d0;
    background: rgba(16,185,129,.11);
    border: 1px solid rgba(167,243,208,.18);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 900;
    font-size: .72rem;
    padding: 8px 12px;
}

.neo-section-label {
    color: #bfdbfe;
    background: rgba(59,130,246,.10);
    border-color: rgba(147,197,253,.18);
    margin-bottom: 12px;
}

.neo-hero h1 {
    position: relative;
    z-index: 1;
    margin: 18px 0 14px;
    max-width: 760px;
    font-size: clamp(2.2rem, 6vw, 5rem);
    line-height: .94;
    letter-spacing: -.07em;
    color: #f8fafc;
}

.neo-hero p,
.neo-muted {
    color: rgba(226,232,240,.72);
}

.neo-hero p {
    position: relative;
    z-index: 1;
    max-width: 680px;
    font-size: 1.05rem;
    line-height: 1.8;
}

.neo-hero-actions,
.neo-copy-grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.neo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    border: 0;
    border-radius: 16px;
    padding: 12px 18px;
    color: #04111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 16px 40px rgba(45,212,191,.24);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.neo-btn:hover {
    transform: translateY(-2px);
    color: #04111f;
    box-shadow: 0 20px 56px rgba(45,212,191,.32);
}

.neo-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}

.neo-btn-soft {
    color: #e5f2ff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: none;
}

.neo-btn-soft:hover { color: #fff; }
.neo-btn-danger { background: linear-gradient(135deg, #fb7185, #f97316); color: #fff; }
.neo-btn-wide { width: 100%; }

.neo-orbit-card,
.neo-balance-vault,
.neo-profile-orb,
.neo-network-orb {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 34px;
    padding: 28px;
}

.neo-orbit-ring {
    position: absolute;
    width: 220px;
    height: 220px;
    right: -64px;
    top: -64px;
    border: 1px dashed rgba(255,255,255,.25);
    border-radius: 50%;
    animation: neoSpin 24s linear infinite;
}

@keyframes neoSpin { to { transform: rotate(360deg); } }

.neo-big-number {
    font-size: clamp(2.2rem, 7vw, 4rem);
    font-weight: 950;
    letter-spacing: -.06em;
    color: #fff;
    text-transform: capitalize;
}

.neo-mini-ledger {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.neo-mini-ledger span,
.neo-mini-ledger strong {
    display: block;
}

.neo-mini-ledger span {
    color: rgba(226,232,240,.62);
    font-size: .78rem;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .08em;
}

.neo-mini-ledger strong {
    color: #fff;
    font-size: 1rem;
    word-break: break-word;
}

.neo-alert,
.neo-ticket-watch {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border-radius: 22px;
    padding: 16px 18px;
    margin: 16px 0;
    color: #f8fafc;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
}

.neo-alert.success { border-color: rgba(74,222,128,.34); background: rgba(22,163,74,.12); }
.neo-alert.danger { border-color: rgba(248,113,113,.34); background: rgba(220,38,38,.12); }
.neo-alert.info { border-color: rgba(96,165,250,.34); background: rgba(37,99,235,.12); }
.neo-alert.inline { margin: 16px 0 14px; }

.neo-ticket-watch {
    border-color: rgba(251,191,36,.34);
    background: linear-gradient(135deg, rgba(251,191,36,.13), rgba(255,255,255,.05));
}

.neo-ticket-watch i { color: #fbbf24; margin-top: 4px; }
.neo-ticket-watch strong,
.neo-ticket-watch span { display: block; }
.neo-ticket-watch span { color: rgba(226,232,240,.72); margin-top: 4px; }

.neo-command-grid,
.neo-cashout-grid,
.neo-referral-console,
.neo-os-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 22px;
    margin: 22px 0;
}

.neo-route-card,
.neo-receipt-builder,
.neo-slip-card,
.neo-destination-passport,
.neo-link-console,
.neo-milestone-console,
.neo-health-panel,
.neo-module-stack,
.neo-history-panel,
.neo-tier-runway,
.neo-commission-lab article {
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.065);
    box-shadow: 0 22px 60px rgba(0,0,0,.22);
    backdrop-filter: blur(16px);
    padding: 24px;
}

.neo-route-card h2,
.neo-receipt-builder h2,
.neo-slip-card h2,
.neo-link-console h2,
.neo-milestone-console h2,
.neo-health-panel h2,
.neo-history-head h2 {
    color: #fff;
    font-weight: 950;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.neo-qr-stage,
.neo-network-qr {
    display: grid;
    place-items: center;
    width: max-content;
    max-width: 100%;
    padding: 14px;
    margin: 18px 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 20px 46px rgba(0,0,0,.22);
}

.neo-copy-capsule,
.neo-phone-token,
.neo-ref-capsule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(2,6,23,.34);
    color: #fff;
    padding: 14px 16px;
    word-break: break-word;
}

.neo-copy-capsule { border: 0; text-align: left; }
.neo-copy-capsule span { overflow-wrap: anywhere; }

.neo-phone-token {
    align-items: stretch;
    flex-direction: column;
    margin: 22px 0;
}

.neo-phone-token span,
.neo-phone-token button {
    color: rgba(226,232,240,.72);
}

.neo-phone-token strong {
    color: #fff;
    font-size: clamp(1.35rem, 4vw, 2.1rem);
    letter-spacing: -.04em;
}

.neo-phone-token button {
    width: max-content;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
    color: #fff;
    border-radius: 999px;
    padding: 9px 13px;
    font-weight: 850;
}

.neo-step-lane {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.neo-step-lane div,
.neo-rule-stack div,
.neo-health-list div,
.neo-passport-row,
.neo-milestone-top div,
.neo-account-strip div,
.neo-control-strip div,
.neo-receive-card div,
.neo-ledger-card,
.neo-ref-card,
.neo-timeline-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(2,6,23,.24);
    padding: 13px 14px;
}

.neo-step-lane b {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(103,232,249,.14);
    color: #a5f3fc;
}

.neo-step-lane span,
.neo-rule-stack span,
.neo-muted { line-height: 1.6; }

.neo-route-warning {
    display: flex;
    gap: 10px;
    align-items: center;
    color: #fde68a;
    background: rgba(251,191,36,.10);
    border: 1px solid rgba(251,191,36,.18);
    border-radius: 16px;
    padding: 12px;
    margin-top: 14px;
}

.neo-receipt-fields,
.neo-split-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.neo-split-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.neo-split-fields.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.neo-receipt-fields label,
.neo-input-label,
.neo-textarea-label,
.neo-pin-field {
    display: grid;
    gap: 8px;
    color: rgba(226,232,240,.78);
    font-weight: 850;
}

.neo-receipt-fields input,
.neo-receipt-builder textarea,
.neo-amount-pad input,
.neo-pin-field input,
.neo-input-label input,
.neo-os-module textarea,
.neo-os-module input {
    width: 100%;
    border: 1px solid rgba(255,255,255,.12);
    outline: 0;
    color: #fff;
    background: rgba(2,6,23,.38);
    border-radius: 16px;
    padding: 13px 14px;
}

.neo-receipt-builder textarea,
.neo-os-module textarea {
    resize: vertical;
    min-height: 130px;
}

.neo-char-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: rgba(226,232,240,.62);
    font-size: .88rem;
    margin: 8px 0 15px;
}

.neo-history-panel,
.neo-tier-runway {
    margin-top: 22px;
}

.neo-history-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.neo-timeline-list,
.neo-card-ledger,
.neo-ref-card-list {
    display: grid;
    gap: 12px;
}

.neo-timeline-card {
    justify-content: flex-start;
}

.neo-timeline-card > div:nth-child(2) {
    flex: 1;
}

.neo-timeline-card strong,
.neo-ledger-card strong,
.neo-ref-card strong,
.neo-passport-row strong,
.neo-account-strip strong,
.neo-control-strip strong,
.neo-milestone-top strong,
.neo-receive-card strong {
    color: #fff;
}

.neo-timeline-card span,
.neo-ledger-card span,
.neo-ref-card span,
.neo-passport-row span,
.neo-account-strip span,
.neo-control-strip span,
.neo-milestone-top span,
.neo-receive-card span,
.neo-ref-card small {
    color: rgba(226,232,240,.62);
    font-size: .83rem;
}

.neo-timeline-dot {
    width: 12px;
    height: 46px;
    border-radius: 999px;
    background: rgba(148,163,184,.38);
}

.neo-timeline-dot.Approved { background: #22c55e; box-shadow: 0 0 22px rgba(34,197,94,.5); }
.neo-timeline-dot.Pending { background: #f59e0b; box-shadow: 0 0 22px rgba(245,158,11,.45); }
.neo-timeline-dot.Rejected { background: #ef4444; box-shadow: 0 0 22px rgba(239,68,68,.45); }

.neo-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    border-radius: 999px;
    padding: 7px 10px;
    font-style: normal;
    font-size: .78rem;
    font-weight: 950;
    color: #e2e8f0;
    background: rgba(148,163,184,.16);
    text-transform: capitalize;
}

.neo-status.Approved,
.neo-status.approved,
.neo-status.yes { background: rgba(34,197,94,.16); color: #bbf7d0; }
.neo-status.Pending,
.neo-status.pending { background: rgba(245,158,11,.16); color: #fde68a; }
.neo-status.Rejected,
.neo-status.rejected,
.neo-status.no { background: rgba(239,68,68,.15); color: #fecaca; }
.neo-status.neutral { background: rgba(148,163,184,.16); color: #cbd5e1; }

.neo-empty-state {
    display: grid;
    justify-items: center;
    gap: 8px;
    text-align: center;
    color: rgba(226,232,240,.68);
    border: 1px dashed rgba(255,255,255,.14);
    border-radius: 22px;
    padding: 28px;
}

.neo-empty-state i {
    font-size: 2rem;
    color: #67e8f9;
}

.neo-empty-state strong { color: #fff; }
.neo-empty-state.compact { padding: 18px; }

.neo-balance-vault {
    text-align: center;
    align-items: center;
}

.neo-balance-vault span,
.neo-profile-orb em,
.neo-network-orb span {
    color: rgba(226,232,240,.68);
    font-weight: 800;
}

.neo-balance-vault strong {
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.4rem);
    letter-spacing: -.06em;
    margin: 10px 0 20px;
}

.neo-vault-ring,
.neo-avatar-ring {
    display: grid;
    place-items: center;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: 
        radial-gradient(circle at center, #07111f 0 56%, transparent 57%),
        conic-gradient(#67e8f9 var(--fill), rgba(255,255,255,.10) 0);
}

.neo-vault-ring i { color: #a7f3d0; font-size: 2.3rem; }

.neo-control-strip,
.neo-account-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.neo-control-strip div,
.neo-account-strip div,
.neo-milestone-top div { flex-direction: column; align-items: flex-start; }

.neo-amount-pad {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(2,6,23,.38);
    border-radius: 22px;
    padding: 10px 14px;
    margin: 16px 0 8px;
}

.neo-amount-pad input {
    border: 0;
    background: transparent;
    border-radius: 0;
    padding: 10px 0;
    font-size: clamp(2rem, 8vw, 4rem);
    font-weight: 950;
    letter-spacing: -.06em;
}

.neo-amount-pad span {
    color: rgba(226,232,240,.58);
    font-weight: 950;
}

.neo-quick-picks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 12px 0 18px;
}

.neo-quick-picks button {
    border: 1px solid rgba(255,255,255,.12);
    color: #dbeafe;
    background: rgba(255,255,255,.07);
    padding: 10px;
    border-radius: 14px;
    font-weight: 900;
}

.neo-receive-card {
    display: grid;
    gap: 10px;
    margin: 16px 0;
}

.neo-receive-card div.highlight {
    background: linear-gradient(135deg, rgba(103,232,249,.14), rgba(167,243,208,.10));
    border-color: rgba(103,232,249,.22);
}

.neo-passport-stamp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #bbf7d0;
    background: rgba(34,197,94,.13);
    border: 1px solid rgba(34,197,94,.20);
    padding: 10px 12px;
    border-radius: 999px;
    font-weight: 900;
    margin: 10px 0 16px;
}

.neo-passport-row {
    align-items: flex-start;
    margin-top: 10px;
}

.neo-passport-row code {
    color: #e0f2fe;
    overflow-wrap: anywhere;
}

.neo-rule-stack {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.neo-rule-stack div {
    justify-content: flex-start;
    color: rgba(226,232,240,.78);
}

.neo-rule-stack i { color: #67e8f9; }

.neo-profile-orb {
    align-items: center;
    text-align: center;
}

.neo-avatar-ring span {
    display: grid;
    place-items: center;
    width: 100px;
    height: 100px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(103,232,249,.22), rgba(167,243,208,.14));
    color: #fff;
    font-size: 3rem;
    font-weight: 950;
}

.neo-profile-orb strong {
    color: #fff;
    font-size: 1.55rem;
    margin-top: 16px;
}

.neo-health-panel {
    position: sticky;
    top: 96px;
    height: max-content;
}

.neo-health-list {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.neo-health-list div {
    justify-content: flex-start;
    color: rgba(226,232,240,.72);
}

.neo-health-list div b {
    margin-left: auto;
    color: #fecaca;
}

.neo-health-list div.done b { color: #bbf7d0; }
.neo-health-list i { color: #93c5fd; }
.neo-health-list div.done i { color: #34d399; }

.neo-module-stack {
    display: grid;
    gap: 12px;
    padding: 12px;
}

.neo-os-module {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px;
    background: rgba(2,6,23,.24);
    overflow: hidden;
}

.neo-module-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 12px;
    border: 0;
    background: transparent;
    color: #fff;
    padding: 16px;
    text-align: left;
    font-weight: 950;
}

.neo-module-toggle i {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: rgba(103,232,249,.12);
    color: #67e8f9;
}

.neo-module-toggle b {
    margin-left: auto;
    color: rgba(226,232,240,.58);
    font-size: .8rem;
}

.neo-module-content {
    display: none;
    padding: 0 16px 18px;
}

.neo-os-module.active .neo-module-content {
    display: block;
}

.neo-os-module.active .neo-module-toggle b::before { content: "Close"; }
.neo-os-module.active .neo-module-toggle b { font-size: 0; }
.neo-os-module.active .neo-module-toggle b::before { font-size: .8rem; }

.neo-network-orb {
    align-items: center;
    text-align: center;
}

.neo-network-qr { margin: 0 0 14px; }

.neo-referral-console {
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
}

.neo-ref-capsule {
    margin: 14px 0;
    overflow-wrap: anywhere;
    font-weight: 850;
}

.neo-milestone-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 16px 0;
}

.neo-milestone-track {
    width: 100%;
    height: 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    overflow: hidden;
}

.neo-milestone-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #67e8f9, #a7f3d0, #fde68a);
}

.neo-tier-ribbon {
    display: grid;
    grid-template-columns: repeat(9, minmax(120px, 1fr));
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.neo-tier-node {
    min-width: 120px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(2,6,23,.26);
    padding: 14px;
}

.neo-tier-node span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(148,163,184,.16);
    color: #cbd5e1;
    font-weight: 950;
}

.neo-tier-node strong {
    display: block;
    color: #fff;
    margin: 12px 0 4px;
}

.neo-tier-node em {
    color: rgba(226,232,240,.58);
    font-style: normal;
    font-size: .8rem;
    font-weight: 850;
}

.neo-tier-node.done {
    background: rgba(34,197,94,.10);
    border-color: rgba(34,197,94,.20);
}

.neo-tier-node.done span { background: rgba(34,197,94,.18); color: #bbf7d0; }
.neo-tier-node.next { background: rgba(251,191,36,.10); border-color: rgba(251,191,36,.22); }
.neo-tier-node.next span { background: rgba(251,191,36,.18); color: #fde68a; }

.neo-ref-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.neo-ref-avatar {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    color: #07111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    font-weight: 950;
}

.neo-ref-card span,
.neo-ref-card small { display: block; }

.neo-commission-lab {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 22px;
}

.neo-commission-lab article {
    display: flex;
    gap: 12px;
    align-items: center;
}

.neo-commission-lab i {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(103,232,249,.12);
    color: #67e8f9;
}

.neo-commission-lab strong { color: #fff; }
.neo-commission-lab span { color: rgba(226,232,240,.66); display: block; }

@media (max-width: 640px) {
    .neo-hero,
    .neo-command-grid,
    .neo-cashout-grid,
    .neo-referral-console,
    .neo-os-grid {
        grid-template-columns: 1fr;
    }
    .neo-control-strip,
    .neo-account-strip,
    .neo-milestone-top,
    .neo-commission-lab {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .neo-health-panel { position: static; }
}

@media (max-width: 640px) {
    .rb-neo-shell { width: min(100% - 20px, 1180px); padding-top: 18px; }
    .neo-hero { min-height: 0; }
    .neo-hero-copy,
    .neo-orbit-card,
    .neo-balance-vault,
    .neo-profile-orb,
    .neo-network-orb,
    .neo-route-card,
    .neo-receipt-builder,
    .neo-slip-card,
    .neo-destination-passport,
    .neo-link-console,
    .neo-milestone-console,
    .neo-health-panel,
    .neo-module-stack,
    .neo-history-panel,
    .neo-tier-runway {
        border-radius: 22px;
        padding: 18px;
    }
    .neo-receipt-fields,
    .neo-split-fields,
    .neo-split-fields.three,
    .neo-control-strip,
    .neo-account-strip,
    .neo-milestone-top,
    .neo-commission-lab {
        grid-template-columns: 1fr;
    }
    .neo-quick-picks { grid-template-columns: repeat(2, 1fr); }
    .neo-history-head { flex-direction: column; align-items: flex-start; }
    .neo-ref-card { grid-template-columns: auto minmax(0, 1fr); }
    .neo-ref-card > div:nth-child(3),
    .neo-ref-card > em { grid-column: 2; justify-self: start; }
}

/* Radical member page redesign: Deposit Dock / Cashout Switchboard / Identity Workshop / Referral Constellation */
.rb-rad-body {
    background:
        radial-gradient(circle at 16% 12%, rgba(255, 205, 92, .18), transparent 26%),
        radial-gradient(circle at 86% 18%, rgba(47, 197, 255, .16), transparent 30%),
        radial-gradient(circle at 48% 92%, rgba(255, 72, 146, .12), transparent 28%),
        #08101c;
    color: #f7fafc;
}
.rb-rad-topbar {
    background: rgba(8, 16, 28, .82);
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.rad-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 38px 0 116px;
}
.rad-eyebrow {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    width: max-content;
    max-width: 100%;
    padding: 9px 13px;
    border-radius: 999px;
    color: #fff2b8;
    border: 1px solid rgba(255, 226, 122, .24);
    background: rgba(255, 226, 122, .09);
    font-weight: 900;
    font-size: .86rem;
    letter-spacing: .02em;
}
.rad-btn,
button.rad-btn,
a.rad-btn {
    border: 0;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    color: #07111f;
    background: linear-gradient(135deg, #ffe66d, #51f0c8);
    box-shadow: 0 20px 48px rgba(81,240,200,.16);
    font-weight: 950;
    cursor: pointer;
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
}
.rad-btn:hover { transform: translateY(-2px); color: #07111f; }
.rad-btn.ghost {
    color: #f7fafc;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: none;
}
.rad-btn.danger { background: linear-gradient(135deg, #ff6b6b, #ffd1d1); color: #240408; }
.rad-btn.wide { width: 100%; }
.rad-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.rad-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.rad-section-title span {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #07111f;
    background: #ffe66d;
    font-weight: 1000;
}
.rad-section-title h2 {
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    letter-spacing: -.05em;
}
.rad-alert {
    margin: 18px 0;
    padding: 16px 18px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 800;
}
.rad-alert.success { background: rgba(92,255,157,.12); border-color: rgba(92,255,157,.35); }
.rad-alert.danger { background: rgba(255,107,107,.12); border-color: rgba(255,107,107,.35); }
.rad-alert.live { background: rgba(47,197,255,.12); border-color: rgba(47,197,255,.35); }
.rad-empty {
    min-height: 180px;
    border: 1px dashed rgba(255,255,255,.22);
    border-radius: 26px;
    display: grid;
    place-items: center;
    text-align: center;
    gap: 8px;
    color: rgba(255,255,255,.68);
    padding: 30px;
    grid-column: 1/-1;
}
.rad-empty i { font-size: 2.2rem; color: #ffe66d; }
.rad-empty strong { color: #fff; font-size: 1.1rem; }
.rad-empty.compact { min-height: auto; padding: 22px; }
.rb-rad-body input,
.rb-rad-body textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(2, 8, 18, .62);
    color: #fff;
    border-radius: 18px;
    outline: none;
    padding: 14px 15px;
    transition: border .2s ease, box-shadow .2s ease, background .2s ease;
}
.rb-rad-body input:focus,
.rb-rad-body textarea:focus {
    border-color: rgba(81,240,200,.65);
    box-shadow: 0 0 0 4px rgba(81,240,200,.12);
    background: rgba(2, 8, 18, .82);
}
.rb-rad-body input.is-invalid,
.rb-rad-body textarea.is-invalid { border-color: rgba(255,107,107,.85); }
.rb-rad-body .rb-form-error { color: #ffb5b5; font-weight: 800; font-size: .88rem; display: block; margin-top: 8px; }

/* Deposit Dock */
.dock-hero,
.switch-hero,
.identity-hero,
.constellation-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 26px;
    align-items: stretch;
    margin-bottom: 22px;
}
.dock-copy,
.switch-copy,
.star-copy,
.identity-card-main {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(26px, 5vw, 50px);
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.045));
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.dock-copy:after,
.switch-copy:after,
.star-copy:after,
.identity-card-main:after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -70px;
    bottom: -80px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,230,109,.28), transparent 70%);
}
.dock-copy h1,
.switch-copy h1,
.star-copy h1 {
    margin: 18px 0 16px;
    font-size: clamp(2.4rem, 7vw, 5.4rem);
    line-height: .92;
    letter-spacing: -.085em;
}
.dock-copy p,
.switch-copy p,
.star-copy p,
.route-manifest p,
.ticket-console p,
.workshop-tile p { color: rgba(255,255,255,.68); line-height: 1.75; }
.dock-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.dock-pass {
    min-height: 250px;
    border-radius: 30px;
    padding: 25px;
    position: relative;
    background: linear-gradient(135deg, #f8fafc, #d8ecff 54%, #ffeaa7);
    color: #07111f;
    overflow: hidden;
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.dock-pass-cut {
    position: absolute;
    top: 50%;
    right: -24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #08101c;
    box-shadow: -1000px 0 0 -975px rgba(7,17,31,.08);
}
.dock-pass > span,
.dock-pass small,
.dock-pass-grid em { color: rgba(7,17,31,.58); font-weight: 800; }
.dock-pass > strong {
    display: block;
    font-size: clamp(2.4rem, 6vw, 4.4rem);
    line-height: .9;
    margin: 16px 0 8px;
    letter-spacing: -.08em;
}
.dock-pass-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 42px;
}
.dock-pass-grid div {
    border-radius: 18px;
    background: rgba(255,255,255,.56);
    padding: 12px;
}
.dock-pass-grid em { display: block; font-style: normal; font-size: .78rem; }
.dock-pass-grid b { font-size: .94rem; word-break: break-word; }
.dock-layout {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    gap: 22px;
    margin-top: 22px;
}
.route-manifest,
.ticket-console,
.scanner-feed,
.withdraw-console,
.payout-receipt,
.payout-stream,
.milestone-galaxy,
.network-zone,
.logout-strip,
.workshop-tile {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.065);
    border-radius: 30px;
    box-shadow: 0 22px 70px rgba(0,0,0,.25);
}
.route-manifest,
.ticket-console,
.scanner-feed,
.withdraw-console,
.payout-receipt,
.payout-stream,
.milestone-galaxy,
.network-zone { padding: 26px; }
.crypto-slab,
.mobile-slab {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-radius: 26px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.1);
}
.crypto-slab canvas { border-radius: 20px; background: #fff; padding: 10px; }
.crypto-slab code,
.mobile-slab strong {
    display: block;
    word-break: break-all;
    color: #fff;
    font-size: 1.08rem;
    margin: 6px 0 10px;
}
.mobile-slab small,
.crypto-slab span { color: rgba(255,255,255,.65); }
.dial-badge {
    width: 80px;
    height: 80px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    color: #07111f;
    background: linear-gradient(135deg, #ffe66d, #51f0c8);
    font-size: 2rem;
}
.rad-copy-line {
    border: 0;
    border-radius: 14px;
    padding: 10px 13px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-weight: 900;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.route-note,
.dock-steps { margin-top: 16px; }
.route-note {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,230,109,.1);
    color: #fff2b8;
    border: 1px solid rgba(255,230,109,.24);
    font-weight: 800;
}
.dock-steps { display: grid; gap: 10px; }
.dock-steps div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.07);
}
.dock-steps b {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(81,240,200,.18);
    color: #b8fff0;
}
.receipt-chips {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}
.receipt-chips label, 
.rad-field { display: grid; gap: 8px; color: rgba(255,255,255,.7); font-weight: 800; }
.ticket-form textarea { min-height: 190px; resize: vertical; }
.ticket-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: rgba(255,255,255,.68);
    margin: 10px 0 16px;
    font-size: .9rem;
}
.scan-list,
.stream-grid { display: grid; gap: 12px; }
.scan-row,
.stream-card {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 22px;
    background: rgba(0,0,0,.2);
    border: 1px solid rgba(255,255,255,.09);
}
.scan-row i,
.stream-card i {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.1);
    color: #ffe66d;
}
.scan-row strong,
.stream-card strong { display: block; }
.scan-row span,
.stream-card span { color: rgba(255,255,255,.55); font-size: .9rem; }
.scan-row em,
.stream-card em {
    font-style: normal;
    padding: 8px 11px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-weight: 900;
}
.scan-row.approved em,
.stream-card.approved em { background: rgba(92,255,157,.18); color: #b8ffc7; }
.scan-row.rejected em,
.stream-card.rejected em { background: rgba(255,107,107,.18); color: #ffc1c1; }

/* Withdrawal */
.switch-hero { grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); }
.switch-balance-card {
    border-radius: 36px;
    padding: 30px;
    background: linear-gradient(135deg, #ffe66d, #51f0c8);
    color: #07111f;
    position: relative;
    overflow: hidden;
    min-height: 260px;
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.switch-balance-card span { font-weight: 900; color: rgba(7,17,31,.65); }
.switch-balance-card strong {
    display: block;
    font-size: clamp(2.3rem, 5vw, 4.5rem);
    line-height: .95;
    letter-spacing: -.08em;
    margin-top: 14px;
}
.balance-wave {
    position: absolute;
    right: -38px;
    bottom: -52px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(255,255,255,.42);
    display: grid;
    place-items: center;
    font-size: 4rem;
}
.switch-stats,
.profile-snapshot,
.star-stats,
.commission-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 22px 0;
}
.switch-stats article,
.profile-snapshot article,
.star-stats article,
.commission-cards article {
    border-radius: 24px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.11);
    padding: 18px;
    display: grid;
    gap: 7px;
}
.switch-stats i,
.profile-snapshot i,
.star-stats i,
.commission-cards i { color: #ffe66d; font-size: 1.25rem; }
.switch-stats span,
.profile-snapshot span,
.star-stats span,
.commission-cards span { color: rgba(255,255,255,.58); font-size: .9rem; }
.switch-stats strong,
.profile-snapshot strong,
.star-stats strong { font-size: 1.15rem; }
.withdraw-studio {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
    gap: 22px;
}
.amount-orb {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 30px;
    padding: 18px;
    margin-bottom: 14px;
}
.amount-orb input {
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: clamp(2.4rem, 8vw, 5.2rem);
    font-weight: 950;
    letter-spacing: -.07em;
    padding: 0;
}
.amount-orb b {
    position: absolute;
    top: 18px;
    right: 22px;
    color: rgba(255,255,255,.48);
}
.amount-pills { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0; }
.amount-pills button {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    border-radius: 15px;
    padding: 12px;
    font-weight: 900;
}
.pin-strip { display: grid; gap: 8px; margin: 16px 0; color: rgba(255,255,255,.7); font-weight: 800; }
.payout-receipt { background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); }
.receipt-total {
    background: #f7fafc;
    color: #07111f;
    border-radius: 26px;
    padding: 24px;
    margin: 16px 0;
}
.receipt-total span { color: rgba(7,17,31,.6); font-weight: 900; }
.receipt-total strong { display: block; font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -.07em; }
.receipt-lines { display: grid; gap: 10px; }
.receipt-lines div,
.destination-card {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    border-radius: 18px;
    padding: 13px;
    background: rgba(0,0,0,.22);
}
.receipt-lines span,
.destination-card span { color: rgba(255,255,255,.58); }
.destination-card { flex-direction: column; align-items: flex-start; margin-top: 16px; }
.destination-card i { color: #51f0c8; }
.destination-card code { color: #fff; word-break: break-all; }

/* Profile */
.identity-hero { grid-template-columns: minmax(0, 1fr) 260px; }
.identity-card-main {
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 260px;
}
.identity-avatar {
    width: clamp(86px, 16vw, 150px);
    height: clamp(86px, 16vw, 150px);
    border-radius: 42px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #ffe66d, #ff5fa2);
    color: #07111f;
    font-size: clamp(2.4rem, 8vw, 5rem);
    font-weight: 1000;
    box-shadow: 0 24px 70px rgba(255,95,162,.18);
}
.identity-card-main h1 {
    margin: 14px 0 6px;
    font-size: clamp(2.3rem, 7vw, 5rem);
    line-height: .92;
    letter-spacing: -.08em;
}
.identity-card-main p { color: rgba(255,255,255,.64); margin: 0; }
.readiness-meter {
    border-radius: 34px;
    padding: 26px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    align-content: center;
    gap: 16px;
}
.readiness-meter span { color: rgba(255,255,255,.62); font-weight: 800; }
.readiness-meter strong { font-size: 3.3rem; letter-spacing: -.08em; }
.readiness-meter i {
    display: block;
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, #51f0c8 var(--score), rgba(255,255,255,.12) var(--score));
}
.workshop-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "bio route"
        "password pin";
    gap: 18px;
}
.workshop-tile { padding: 24px; }
.bio-tile { grid-area: bio; }
.route-tile { grid-area: route; }
.password-tile { grid-area: password; }
.pin-tile { grid-area: pin; }
.workshop-tile textarea { min-height: 180px; resize: vertical; margin-bottom: 12px; }
.rad-field { margin-bottom: 12px; }
.workshop-tile small { color: rgba(255,255,255,.58); display: block; margin: 0 0 12px; }
.logout-strip {
    margin-top: 18px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}
.logout-strip span { display: block; color: rgba(255,255,255,.62); margin-top: 4px; }

/* Team */
.constellation-hero { grid-template-columns: minmax(0, 1fr) 330px; }
.invite-capsule {
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(0,0,0,.3);
    border: 1px solid rgba(255,255,255,.12);
    word-break: break-all;
    color: #b8fff0;
    margin-top: 18px;
    font-weight: 850;
}
.qr-planet {
    position: relative;
    min-height: 300px;
    display: grid;
    place-items: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.12);
    background: radial-gradient(circle at 50% 50%, rgba(81,240,200,.14), rgba(255,255,255,.06));
    border-radius: 50%;
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.planet-ring {
    position: absolute;
    width: 112%;
    height: 46%;
    border: 1px solid rgba(255,230,109,.38);
    border-radius: 50%;
    transform: rotate(-18deg);
}
.qr-core {
    background: #fff;
    padding: 16px;
    border-radius: 28px;
    position: relative;
    z-index: 1;
}
.qr-planet span { position: absolute; bottom: 20px; color: rgba(255,255,255,.68); font-weight: 900; }
.star-stats { grid-template-columns: repeat(4, 1fr); }
.milestone-galaxy { margin-top: 22px; }
.galaxy-progress {
    height: 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    overflow: hidden;
    margin: 12px 0 18px;
}
.galaxy-progress span { display: block; height: 100%; background: linear-gradient(90deg, #ffe66d, #51f0c8); border-radius: inherit; }
.unlock-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(92,255,157,.12);
    border: 1px solid rgba(92,255,157,.28);
    margin-bottom: 18px;
}
.unlock-banner.muted { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.11); }
.unlock-banner span { display: block; color: rgba(255,255,255,.64); margin-top: 4px; }
.orbit-tiers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}
.orbit-tier {
    border-radius: 24px;
    padding: 18px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.1);
    display: grid;
    gap: 8px;
}
.orbit-tier span {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.12);
    font-weight: 1000;
}
.orbit-tier.done span { background: #51f0c8; color: #07111f; }
.orbit-tier.next span { background: #ffe66d; color: #07111f; }
.orbit-tier em { color: rgba(255,255,255,.56); font-style: normal; font-weight: 800; }
.network-zone { margin-top: 22px; position: relative; }
.network-count { position: absolute; right: 28px; top: 34px; color: rgba(255,255,255,.58); font-weight: 800; }
.network-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}
.network-tile {
    display: grid;
    grid-template-columns: 56px minmax(0,1fr) auto;
    grid-template-areas:
        "avatar text status"
        "avatar text bonus";
    gap: 8px 14px;
    align-items: center;
    border-radius: 24px;
    padding: 16px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.1);
}
.network-avatar {
    grid-area: avatar;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #ffe66d, #51f0c8);
    color: #07111f;
    font-weight: 1000;
}
.network-tile div:nth-child(2) { grid-area: text; min-width: 0; }
.network-tile strong,
.network-tile span { display: block; }
.network-tile span { color: rgba(255,255,255,.56); font-size: .88rem; }
.network-tile em {
    grid-area: status;
    justify-self: end;
    font-style: normal;
    font-weight: 900;
    padding: 6px 9px;
    border-radius: 999px;
}
.network-tile em.on { color: #b8ffc7; background: rgba(92,255,157,.13); }
.network-tile em.off { color: #ffcbcb; background: rgba(255,107,107,.13); }
.network-tile b { grid-area: bonus; justify-self: end; }
.commission-cards { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 640px) {
    .dock-hero,
    .switch-hero,
    .identity-hero,
    .constellation-hero,
    .dock-layout,
    .withdraw-studio { grid-template-columns: 1fr; }
    .switch-stats,
    .profile-snapshot,
    .star-stats { grid-template-columns: repeat(2, 1fr); }
    .workshop-board { grid-template-columns: 1fr; grid-template-areas: "bio" "route" "password" "pin"; }
    .qr-planet { border-radius: 34px; }
}
@media (max-width: 640px) {
    .rad-shell { width: min(100% - 22px, 1180px); padding-top: 20px; }
    .dock-copy,
    .switch-copy,
    .star-copy,
    .identity-card-main,
    .dock-pass,
    .switch-balance-card,
    .route-manifest,
    .ticket-console,
    .scanner-feed,
    .withdraw-console,
    .payout-receipt,
    .payout-stream,
    .milestone-galaxy,
    .network-zone,
    .workshop-tile { border-radius: 24px; padding: 18px; }
    .commission-cards,
    .scan-row,
    .stream-card { grid-template-columns: 44px 1fr; }
    .scan-row em,
    .stream-card em { grid-column: 2; width: max-content; }
    .identity-card-main { flex-direction: column; align-items: flex-start; }
    .logout-strip,
    .unlock-banner { flex-direction: column; align-items: stretch; }
    .network-count { position: static; display: block; margin: -8px 0 14px; }
}

/* ===== NestChat: member inbox and admin groups ===== */
.rb-chat-body {
    padding-bottom: 92px;
}

.rb-chat-shell {
    padding-top: 28px;
}

.rb-chat-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}

.rb-chat-hero h1 {
    margin: 0;
    font-size: clamp(2.2rem, 6vw, 4.6rem);
    line-height: .92;
    letter-spacing: -.07em;
}

.rb-chat-identity-card {
    border: 1px solid rgba(81,240,200,.25);
    background: 
        radial-gradient(circle at top right, rgba(81,240,200,.22), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
    border-radius: 30px;
    padding: 22px;
    box-shadow: var(--rb-shadow);
    display: grid;
    align-content: center;
    gap: 8px;
}

.rb-chat-identity-card span,
.rb-chat-eyebrow {
    color: var(--rb-muted);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 900;
}

.rb-chat-identity-card strong {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    letter-spacing: -.06em;
}

.rb-mini-action,
.rb-icon-button {
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.08);
    color: var(--rb-text);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    font-weight: 900;
    cursor: pointer;
}

.rb-icon-button {
    width: 42px;
    height: 42px;
    padding: 0;
}

.rb-chat-app {
    height: min(760px, calc(100vh - 170px));
    min-height: 620px;
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    border: 1px solid var(--rb-border);
    border-radius: 34px;
    overflow: hidden;
    background: 
        linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,.045)),
        rgba(7,17,31,.74);
    box-shadow: var(--rb-shadow);
}

.rb-chat-sidebar {
    border-right: 1px solid var(--rb-border);
    background: rgba(255,255,255,.045);
    padding: 18px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.rb-chat-sidebar-head,
.rb-chat-window-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rb-chat-sidebar-head h2,
.rb-chat-window-head h2 {
    margin: 0;
    letter-spacing: -.04em;
    font-weight: 950;
}

.rb-chat-searchbox {
    margin: 16px 0 12px;
    min-height: 52px;
    border: 1px solid var(--rb-border);
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    background: rgba(0,0,0,.16);
}

.rb-chat-searchbox input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--rb-text);
    font-weight: 800;
}

.rb-chat-searchbox input::placeholder,
.rb-chat-composer textarea::placeholder {
    color: rgba(248,251,255,.45);
}

.rb-chat-search-results {
    display: grid;
    gap: 8px;
    max-height: 170px;
    overflow: auto;
    margin-bottom: 10px;
}

.rb-chat-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.rb-chat-tabs button {
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.06);
    color: var(--rb-muted);
    border-radius: 16px;
    min-height: 42px;
    font-weight: 950;
    cursor: pointer;
}

.rb-chat-tabs button.active {
    color: #06111d;
    background: linear-gradient(135deg, var(--rb-accent), #b8fff0);
    border-color: transparent;
}

.rb-chat-list {
    display: none;
    gap: 8px;
    overflow: auto;
    min-height: 0;
    padding-right: 2px;
}

.rb-chat-list.active {
    display: grid;
    align-content: start;
}

.rb-chat-thread {
    width: 100%;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
    color: var(--rb-text);
    border-radius: 22px;
    padding: 12px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: pointer;
}

.rb-chat-thread:hover {
    border-color: rgba(81,240,200,.34);
    transform: translateY(-1px);
}

.rb-chat-thread-avatar,
.rb-chat-avatar,
.rb-chat-orb {
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(81,240,200,.28), rgba(138,125,255,.28));
    color: #dffff7;
    font-weight: 950;
}

.rb-chat-thread-avatar {
    width: 46px;
    height: 46px;
}

.rb-chat-thread strong,
.rb-chat-thread small {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rb-chat-thread strong {
    font-size: .98rem;
}

.rb-chat-thread small,
.rb-chat-list-empty {
    color: var(--rb-muted);
    font-size: .82rem;
}

.rb-chat-thread em {
    color: var(--rb-accent);
    font-style: normal;
    font-weight: 950;
}

.rb-chat-list-empty {
    border: 1px dashed var(--rb-border);
    border-radius: 20px;
    padding: 16px;
    text-align: center;
}

.rb-chat-window {
    min-width: 0;
    min-height: 0;
    position: relative;
}

.rb-chat-empty-state {
    height: 100%;
    display: grid;
    place-content: center;
    justify-items: center;
    text-align: center;
    padding: 32px;
}

.rb-chat-empty-state h2 {
    margin: 16px 0 8px;
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: -.06em;
}

.rb-chat-empty-state p {
    max-width: 500px;
    color: var(--rb-muted);
    line-height: 1.7;
}

.rb-chat-orb {
    width: 92px;
    height: 92px;
    border-radius: 30px;
    font-size: 2rem;
}

.rb-chat-rules {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

.rb-chat-rules span {
    border: 1px solid var(--rb-border);
    border-radius: 999px;
    padding: 9px 12px;
    color: var(--rb-muted);
    font-weight: 800;
    background: rgba(255,255,255,.055);
}

.rb-chat-panel {
    height: 100%;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    min-height: 0;
}

.rb-chat-window-head {
    min-height: 78px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--rb-border);
    justify-content: flex-start;
}

.rb-chat-back {
    display: none;
}

.rb-chat-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
}

.rb-chat-window-head p {
    margin: 2px 0 0;
    color: var(--rb-muted);
    font-size: .86rem;
}

.rb-chat-reply-strip {
    margin: 12px 18px 0;
    border: 1px solid rgba(81,240,200,.22);
    background: rgba(81,240,200,.08);
    border-radius: 18px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rb-chat-reply-strip span {
    color: #b8fff0;
    font-size: .82rem;
    font-weight: 900;
}

.rb-chat-reply-strip p {
    margin: 3px 0 0;
    color: var(--rb-muted);
    font-size: .88rem;
}

.rb-chat-messages {
    overflow: auto;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: 
        radial-gradient(circle at 20% 10%, rgba(81,240,200,.06), transparent 26%),
        radial-gradient(circle at 80% 20%, rgba(138,125,255,.06), transparent 24%);
}

.rb-message {
    display: flex;
}

.rb-message.own {
    justify-content: flex-end;
}

.rb-message.theirs {
    justify-content: flex-start;
}

.rb-message-bubble {
    width: fit-content;
    max-width: min(78%, 620px);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 22px 22px 22px 8px;
    padding: 10px 11px 8px;
    background: rgba(255,255,255,.075);
    position: relative;
}

.rb-message.own .rb-message-bubble {
    border-radius: 22px 22px 8px 22px;
    background: linear-gradient(135deg, rgba(81,240,200,.24), rgba(138,125,255,.15));
    border-color: rgba(81,240,200,.20);
}

.rb-message.deleted .rb-message-bubble {
    opacity: .66;
    font-style: italic;
}

.rb-message-sender {
    font-size: .74rem;
    font-weight: 950;
    color: #b8fff0;
    margin-bottom: 4px;
}

.rb-message-bubble p {
    margin: 0;
    color: var(--rb-text);
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.rb-message-foot {
    margin-top: 6px;
    display: flex;
    justify-content: flex-end;
    color: rgba(248,251,255,.55);
    font-size: .72rem;
}

.rb-message-tools {
    position: absolute;
    right: 8px;
    top: -16px;
    display: none;
    gap: 4px;
}

.rb-message-bubble:hover .rb-message-tools {
    display: flex;
}

.rb-message-tools button {
    width: 28px;
    height: 28px;
    border: 1px solid var(--rb-border);
    border-radius: 999px;
    background: #101d31;
    color: var(--rb-text);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.rb-message-reply {
    border-left: 3px solid var(--rb-accent);
    background: rgba(0,0,0,.18);
    border-radius: 12px;
    padding: 8px 10px;
    margin-bottom: 8px;
}

.rb-message-reply b,
.rb-message-reply span {
    display: block;
}

.rb-message-reply b {
    color: #b8fff0;
    font-size: .78rem;
}

.rb-message-reply span {
    color: var(--rb-muted);
    font-size: .82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
}

.rb-message-photo {
    display: block;
    margin-bottom: 8px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
}

.rb-message-photo img {
    display: block;
    max-width: 280px;
    max-height: 320px;
    width: 100%;
    object-fit: cover;
}

.rb-message-video {
    display: grid;
    gap: 7px;
    margin-bottom: 8px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(0,0,0,.18);
    border-radius: 16px;
    padding: 8px;
    max-width: 310px;
}

.rb-message-video video {
    display: block;
    width: 100%;
    max-height: 320px;
    border-radius: 12px;
    background: #000;
}

.rb-message-video a {
    color: #b8fff0;
    font-size: .78rem;
    font-weight: 850;
    text-decoration: none;
    word-break: break-word;
}

.rb-chat-head-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.rb-mini-action.danger {
    border-color: rgba(255,100,120,.35);
    color: #ffd4dc;
    background: rgba(255,70,100,.10);
}

.rb-chat-thread em.danger {
    color: #ffd4dc;
    border-color: rgba(255,100,120,.28);
    background: rgba(255,70,100,.10);
}

.rb-chat-composer textarea:disabled,
.rb-photo-picker:has(input:disabled),
.rb-send-button:disabled {
    opacity: .52;
    cursor: not-allowed;
}

.rb-chat-composer {
    border-top: 1px solid var(--rb-border);
    padding: 12px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 52px;
    gap: 10px;
    align-items: end;
    background: rgba(7,17,31,.86);
}

.rb-photo-picker,
.rb-send-button {
    min-height: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.rb-photo-picker {
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.08);
    color: var(--rb-text);
}

.rb-photo-picker input {
    display: none;
}

.rb-chat-composer textarea {
    width: 100%;
    min-height: 46px;
    max-height: 130px;
    resize: none;
    border: 1px solid var(--rb-border);
    border-radius: 18px;
    outline: 0;
    background: rgba(255,255,255,.08);
    color: var(--rb-text);
    padding: 12px 14px;
    font-weight: 750;
}

.rb-send-button {
    border: 0;
    background: linear-gradient(135deg, var(--rb-accent), #b8fff0);
    color: #06111d;
    font-size: 1rem;
}

.rb-chat-upload-note {
    padding: 0 16px 12px;
    color: #b8fff0;
    font-size: .82rem;
    background: rgba(7,17,31,.86);
}

.rb-chat-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.58);
    backdrop-filter: blur(12px);
    z-index: 200;
    display: grid;
    place-items: center;
    padding: 18px;
}

.rb-chat-modal-card {
    width: min(560px, 100%);
    border: 1px solid var(--rb-border);
    border-radius: 30px;
    background: #0b1728;
    box-shadow: var(--rb-shadow);
    padding: 24px;
    position: relative;
}

.rb-chat-modal-card h2 {
    margin: 0 0 6px;
    font-weight: 950;
    letter-spacing: -.05em;
}

.rb-chat-modal-card p {
    color: var(--rb-muted);
}

.rb-chat-modal-card label {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--rb-muted);
    font-weight: 900;
}

.rb-chat-modal-card input,
.rb-chat-modal-card textarea,
.rb-chat-modal-card select {
    width: 100%;
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.08);
    color: var(--rb-text);
    border-radius: 16px;
    padding: 12px 14px;
    outline: 0;
}

.rb-chat-modal-card option {
    background: #0b1728;
}

.rb-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.rb-chat-form-message {
    margin-top: 12px;
}

.rb-chat-toast {
    position: fixed;
    left: 50%;
    bottom: 96px;
    transform: translate(-50%, 18px);
    opacity: 0;
    pointer-events: none;
    border: 1px solid var(--rb-border);
    border-radius: 999px;
    background: rgba(11, 23, 40, .94);
    color: var(--rb-text);
    padding: 12px 16px;
    z-index: 260;
    box-shadow: var(--rb-shadow);
    font-weight: 900;
    transition: .22s ease;
}

.rb-chat-toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.rb-chat-toast.success { border-color: rgba(92,255,157,.35); }
.rb-chat-toast.error { border-color: rgba(255,107,107,.42); }

@media (max-width: 860px) {
    .rb-chat-hero {
        grid-template-columns: 1fr;
    }

    .rb-chat-app {
        grid-template-columns: 1fr;
        height: calc(100vh - 110px);
        min-height: 640px;
        border-radius: 26px;
    }

    .rb-chat-sidebar {
        border-right: 0;
    }

    .rb-chat-window {
        position: absolute;
        inset: 0;
        background: #07111f;
        transform: translateX(100%);
        transition: transform .24s ease;
        z-index: 4;
    }

    .rb-chat-open .rb-chat-window {
        transform: translateX(0);
    }

    .rb-chat-back {
        display: grid;
    }

    .rb-message-bubble {
        max-width: 88%;
    }
}

@media (max-width: 520px) {
    .rb-chat-shell {
        width: min(100% - 16px, 430px);
        padding-top: 14px;
    }

    .rb-chat-hero {
        display: none;
    }

    .rb-chat-app {
        height: calc(100vh - 104px);
        min-height: 570px;
        border-radius: 22px;
    }

    .rb-chat-sidebar {
        padding: 12px;
    }

    .rb-chat-tabs {
        gap: 6px;
    }

    .rb-chat-tabs button {
        font-size: .78rem;
    }

    .rb-chat-composer {
        grid-template-columns: 42px minmax(0, 1fr) 46px;
        gap: 8px;
        padding: 10px;
    }

    .rb-message-photo img {
        max-width: 220px;
    }

    .rb-modal-grid {
        grid-template-columns: 1fr;
    }
}

/* NestChat v2: presence, previews, unread badges, day dividers, and fixed composer */
.rb-chat-window,
.rb-chat-panel {
    overflow: hidden;
}

.rb-chat-messages {
    min-height: 0;
    overscroll-behavior: contain;
}

.rb-chat-composer {
    position: sticky;
    bottom: 0;
    z-index: 5;
    box-shadow: 0 -14px 30px rgba(0,0,0,.18);
}

.rb-chat-upload-note {
    position: sticky;
    bottom: 0;
    z-index: 4;
}

.rb-chat-thread {
    min-width: 0;
}

.rb-thread-main {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.rb-thread-title-line {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.rb-thread-title-line strong {
    min-width: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rb-thread-subtitle {
    max-width: 96px;
    font-size: .68rem !important;
    color: rgba(184,255,240,.78) !important;
    text-transform: none;
}

.rb-thread-preview {
    color: var(--rb-muted) !important;
    font-size: .78rem !important;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rb-chat-thread.has-unread {
    border-color: rgba(81,240,200,.36);
    background: linear-gradient(180deg, rgba(81,240,200,.13), rgba(255,255,255,.045));
}

.rb-thread-side {
    display: grid;
    justify-items: end;
    gap: 5px;
    min-width: 38px;
}

.rb-thread-side time {
    color: rgba(248,251,255,.55);
    font-size: .68rem;
    font-weight: 850;
    white-space: nowrap;
}

.rb-thread-side b {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--rb-accent), #b8fff0);
    color: #06111d;
    font-size: .7rem;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(81,240,200,.18);
}

.rb-chat-day-divider {
    display: flex;
    justify-content: center;
    margin: 8px 0;
    position: sticky;
    top: 8px;
    z-index: 2;
    pointer-events: none;
}

.rb-chat-day-divider span {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    background: rgba(11, 23, 40, .82);
    color: rgba(248,251,255,.74);
    padding: 6px 11px;
    font-size: .72rem;
    font-weight: 950;
    box-shadow: 0 10px 20px rgba(0,0,0,.16);
    backdrop-filter: blur(12px);
}

.rb-message-foot {
    align-items: center;
    gap: 7px;
}

.rb-message-ticks {
    display: inline-grid;
    place-items: center;
    font-size: .78rem;
    opacity: .78;
}

.rb-message-ticks.read {
    color: #b8fff0;
    opacity: 1;
}

.rb-message-ticks.sent {
    color: rgba(248,251,255,.62);
}

@media (max-width: 520px) {
    .rb-thread-subtitle {
        max-width: 72px;
    }

    .rb-chat-thread {
        grid-template-columns: 42px minmax(0, 1fr) auto;
        padding: 10px;
    }

    .rb-chat-thread-avatar {
        width: 42px;
        height: 42px;
    }
}

/* ===== Layout patch: one-line navigation and focused chat view ===== */
.rb-topbar-inner {
    min-width: 0;
}

.rb-brand {
    flex: 0 0 auto;
}

.rb-nav {
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.rb-nav::-webkit-scrollbar {
    display: none;
}

.rb-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .rb-topbar-inner {
        width: min(100% - 16px, 1180px);
        gap: 10px;
    }

    .rb-brand {
        font-size: 1rem;
    }

    .rb-brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }

    .rb-nav {
        justify-content: flex-start;
        gap: 6px;
        padding-left: 2px;
    }

    .rb-nav a {
        padding: 8px 10px;
        font-size: .84rem;
    }

    .rb-nav .rb-btn,
    .rb-nav button.rb-btn {
        min-height: 38px;
    }
}

@media (max-width: 420px) {
    .rb-brand > span:last-child {
        display: none;
    }
}

.rb-chat-body {
    min-height: 100svh;
}

.rb-chat-app {
    isolation: isolate;
}

.rb-chat-composer,
.rb-chat-upload-note {
    position: relative;
    bottom: auto;
}

.rb-chat-open .rb-chat-hero {
    display: none;
}

.rb-chat-open .rb-chat-shell {
    padding-top: 14px;
}

.rb-chat-open .rb-chat-app {
    grid-template-columns: minmax(0, 1fr);
    height: calc(100svh - 170px);
    min-height: 0;
}

.rb-chat-open .rb-chat-sidebar {
    display: none;
}

.rb-chat-open .rb-chat-window {
    position: relative;
    inset: auto;
    transform: none;
    background: transparent;
}

.rb-chat-open .rb-chat-back {
    display: grid;
}

.rb-chat-panel {
    max-height: 100%;
}

.rb-chat-messages {
    min-height: 0;
}

@media (min-width: 861px) {
    .rb-chat-open .rb-chat-app {
        height: calc(100svh - 170px);
    }
}

@media (max-width: 860px) {
    .rb-chat-app {
        height: calc(100svh - 168px);
        min-height: 0;
    }

    .rb-chat-open .rb-chat-window {
        position: absolute;
        inset: 0;
        transform: translateX(0);
        background: #07111f;
    }
}

@media (max-width: 520px) {
    .rb-chat-shell {
        width: min(100% - 12px, 430px);
        padding-top: 8px;
    }

    .rb-chat-app,
    .rb-chat-open .rb-chat-app {
        height: calc(100svh - 154px);
        min-height: 0;
        border-radius: 20px;
    }

    .rb-chat-window-head {
        min-height: 64px;
        padding: 10px 12px;
    }

    .rb-chat-avatar {
        width: 42px;
        height: 42px;
    }

    .rb-chat-messages {
        padding: 12px;
    }

    .rb-chat-composer {
        grid-template-columns: 40px minmax(0, 1fr) 44px;
        gap: 7px;
        padding: 8px;
    }

    .rb-photo-picker,
    .rb-send-button,
    .rb-chat-composer textarea {
        min-height: 42px;
        height: 42px;
    }
}


/* One-line bottom dock, even when a page has many navigation entries */
.rb-bottom-nav {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.rb-bottom-nav::-webkit-scrollbar {
    display: none;
}

.rb-bottom-nav a {
    flex: 0 0 76px;
    min-width: 0;
    border-radius: 18px;
    padding: 7px 4px;
    white-space: nowrap;
}

@media (min-width: 760px) {
    .rb-bottom-nav {
        justify-content: center;
    }

    .rb-bottom-nav a {
        flex: 1 1 0;
        max-width: 112px;
    }
}

@media (max-width: 420px) {
    .rb-bottom-nav {
        width: calc(100% - 14px);
        bottom: 8px;
        min-height: 58px;
        border-radius: 20px;
    }

    .rb-bottom-nav a {
        flex-basis: 62px;
        font-size: .64rem;
    }

    .rb-bottom-nav i {
        font-size: 1.02rem;
    }

    .rb-bottom-nav span {
        font-size: .58rem;
    }
}

/* ===== Patch: keep NestChat composer visible and only messages scroll ===== */
body.rb-chat-body {
    min-height: 100svh;
    overflow-x: hidden;
}

body.rb-chat-body.rb-chat-open {
    overflow: hidden;
}

.rb-chat-shell {
    min-width: 0;
}

.rb-chat-app {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.rb-chat-window {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.rb-chat-empty-state {
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.rb-chat-panel[hidden] {
    display: none !important;
}

.rb-chat-panel:not([hidden]) {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    overflow: hidden;
}

.rb-chat-window-head,
.rb-chat-reply-strip,
.rb-chat-composer,
.rb-chat-upload-note {
    flex: 0 0 auto;
}

.rb-chat-messages {
    min-height: 0;
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.rb-chat-composer,
.rb-chat-upload-note {
    position: static !important;
    bottom: auto !important;
    z-index: 6;
}

.rb-chat-composer {
    align-self: end;
}

.rb-chat-open .rb-chat-shell {
    padding-top: 12px;
}

.rb-chat-open .rb-chat-app {
    height: calc(100svh - 164px);
    min-height: 0;
    max-height: calc(100svh - 164px);
}

@media (min-width: 861px) {
    .rb-chat-open .rb-chat-app {
        height: calc(100svh - 168px);
        max-height: calc(100svh - 168px);
    }
}

@media (max-width: 860px) {
    .rb-chat-app,
    .rb-chat-open .rb-chat-app {
        height: calc(100svh - 158px);
        max-height: calc(100svh - 158px);
        min-height: 0;
    }

    .rb-chat-open .rb-chat-window {
        height: 100%;
    }
}

@media (max-width: 520px) {
    .rb-chat-shell,
    .rb-chat-open .rb-chat-shell {
        width: min(100% - 12px, 430px);
        padding-top: 8px;
    }

    .rb-chat-app,
    .rb-chat-open .rb-chat-app {
        height: calc(100svh - 146px);
        max-height: calc(100svh - 146px);
        min-height: 0;
    }

    .rb-chat-window-head {
        min-height: 58px;
        padding: 8px 10px;
    }

    .rb-chat-reply-strip {
        padding: 8px 10px;
    }

    .rb-chat-messages {
        padding: 10px;
    }

    .rb-chat-composer {
        padding: 8px;
    }
}

@supports (height: 100dvh) {
    .rb-chat-open .rb-chat-app {
        height: calc(100dvh - 164px);
        max-height: calc(100dvh - 164px);
    }

    @media (min-width: 861px) {
        .rb-chat-open .rb-chat-app {
            height: calc(100dvh - 168px);
            max-height: calc(100dvh - 168px);
        }
    }

    @media (max-width: 860px) {
        .rb-chat-app,
        .rb-chat-open .rb-chat-app {
            height: calc(100dvh - 158px);
            max-height: calc(100dvh - 158px);
        }
    }

    @media (max-width: 520px) {
        .rb-chat-app,
        .rb-chat-open .rb-chat-app {
            height: calc(100dvh - 146px);
            max-height: calc(100dvh - 146px);
        }
    }
}

/* ===== Patch: prevent Referral Constellation / team page horizontal drift ===== */
html,
body.rb-rad-body {
    max-width: 100%;
    overflow-x: hidden;
}

.constellation-page,
.constellation-page * {
    max-width: 100%;
}

.constellation-page {
    overflow-x: clip;
    min-width: 0;
}

.constellation-hero,
.star-stats,
.milestone-galaxy,
.network-zone,
.commission-cards,
.orbit-tiers,
.network-grid,
.network-tile,
.invite-capsule,
.qr-planet,
.qr-core,
.unlock-banner,
.rb-pagination {
    min-width: 0;
}

.qr-planet {
    overflow: hidden;
}

.network-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
}

.network-tile {
    overflow: hidden;
}

.network-tile strong,
.network-tile span,
.network-tile b,
.invite-capsule,
.orbit-tier strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.rb-pagination {
    flex-wrap: wrap;
    overflow: hidden;
}

@media (max-width: 640px) {
    .constellation-page {
        width: min(100% - 18px, 1180px);
    }

    .constellation-hero,
    .commission-cards {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .network-tile {
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-areas:
            "avatar text"
            "avatar status"
            "avatar bonus";
    }

    .network-tile em,
    .network-tile b {
        justify-self: start;
    }
}

/* ===== Mobile chat viewport patch: visible back button + composer above bottom dock ===== */
body.rb-chat-body {
    --rb-chat-phone-dock-space: 96px;
    --rb-chat-open-top-space: 86px;
}

body.rb-chat-body.rb-chat-open {
    height: var(--rb-chat-vh, 100dvh);
    min-height: var(--rb-chat-vh, 100dvh);
    overflow: hidden;
}

body.rb-chat-body.rb-chat-open .rb-topbar {
    z-index: 95;
}

body.rb-chat-body.rb-chat-open .rb-chat-shell {
    height: calc(var(--rb-chat-vh, 100dvh) - var(--rb-chat-open-top-space) - var(--rb-chat-phone-dock-space));
    max-height: calc(var(--rb-chat-vh, 100dvh) - var(--rb-chat-open-top-space) - var(--rb-chat-phone-dock-space));
    padding-top: 8px;
    display: grid;
    align-items: stretch;
    overflow: hidden;
}

body.rb-chat-body.rb-chat-open .rb-chat-app {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    border-radius: 22px;
    overflow: hidden;
}

body.rb-chat-body.rb-chat-open .rb-chat-window,
body.rb-chat-body.rb-chat-open .rb-chat-panel:not([hidden]) {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.rb-chat-body.rb-chat-open .rb-chat-panel:not([hidden]) {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
}

body.rb-chat-body.rb-chat-open .rb-chat-messages {
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

body.rb-chat-body.rb-chat-open .rb-chat-composer,
body.rb-chat-body.rb-chat-open .rb-chat-upload-note {
    position: static !important;
    bottom: auto !important;
    flex: 0 0 auto;
    z-index: 12;
}

body.rb-chat-body.rb-chat-open .rb-chat-back {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 42px;
}

body.rb-chat-body.rb-chat-open .rb-chat-window-head {
    position: relative;
    z-index: 13;
}

@media (max-width: 860px) {
    body.rb-chat-body {
        --rb-chat-phone-dock-space: 102px;
        --rb-chat-open-top-space: 78px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-hero {
        display: none !important;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-sidebar {
        display: none !important;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-window {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        background: #07111f;
    }
}

@media (max-width: 520px) {
    body.rb-chat-body {
        --rb-chat-phone-dock-space: 108px;
        --rb-chat-open-top-space: 74px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-shell {
        width: min(100% - 10px, 430px);
        padding-top: 6px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-app {
        border-radius: 20px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-window-head {
        min-height: 56px;
        padding: 7px 9px;
        gap: 8px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-back {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-avatar {
        width: 38px;
        height: 38px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-window-head h2 {
        font-size: 1rem;
        line-height: 1.1;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-window-head p {
        font-size: .74rem;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-messages {
        padding: 9px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-composer {
        grid-template-columns: 38px minmax(0, 1fr) 42px;
        gap: 7px;
        padding: 8px;
        background: rgba(7,17,31,.98);
        border-top: 1px solid rgba(255,255,255,.14);
        box-shadow: 0 -16px 34px rgba(0,0,0,.24);
    }

    body.rb-chat-body.rb-chat-open .rb-photo-picker,
    body.rb-chat-body.rb-chat-open .rb-send-button,
    body.rb-chat-body.rb-chat-open .rb-chat-composer textarea {
        min-height: 40px;
        height: 40px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-composer textarea {
        max-height: 92px;
        padding: 10px 12px;
        border-radius: 16px;
    }

    body.rb-chat-body.rb-chat-open .rb-bottom-nav {
        z-index: 90;
    }
}

@media (max-height: 700px) and (max-width: 520px) {
    body.rb-chat-body {
        --rb-chat-phone-dock-space: 100px;
        --rb-chat-open-top-space: 70px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-window-head {
        min-height: 52px;
        padding: 6px 8px;
    }

    body.rb-chat-body.rb-chat-open .rb-chat-messages {
        padding: 8px;
    }
}

/* Passport refresh + chat avatar/spacing patch */
.passport-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
    align-items: stretch;
}
.passport-orbit-card {
    border: 1px solid rgba(255,255,255,.13);
    background:
        radial-gradient(circle at 12% 18%, rgba(81,240,200,.22), transparent 32%),
        radial-gradient(circle at 86% 4%, rgba(255,95,162,.20), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
    border-radius: 36px;
    padding: 24px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 28px 90px rgba(0,0,0,.22);
}
.passport-avatar-frame {
    display: grid;
    gap: 12px;
    justify-items: center;
}
.identity-avatar.has-photo {
    overflow: hidden;
    background: rgba(255,255,255,.08);
    border: 2px solid rgba(255,255,255,.18);
}
.identity-avatar img,
.rb-chat-avatar img,
.rb-chat-thread-avatar img,
.rb-message-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.passport-photo-form label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(0,0,0,.22);
    color: #b8fff0;
    border-radius: 999px;
    padding: 10px 13px;
    font-weight: 950;
    cursor: pointer;
}
.passport-photo-form input { display: none; }
.passport-member-lines h1 {
    margin: 10px 0 5px;
    font-size: clamp(2.2rem, 7vw, 5.4rem);
    line-height: .9;
    letter-spacing: -.08em;
}
.passport-member-lines p {
    margin: 0;
    color: rgba(255,255,255,.66);
}
.passport-id-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.passport-id-grid button {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.22);
    color: #fff;
    border-radius: 20px;
    padding: 14px;
    text-align: left;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    cursor: pointer;
}
.passport-id-grid small {
    color: rgba(255,255,255,.58);
    font-weight: 900;
    grid-column: 1 / -1;
}
.passport-id-grid strong {
    overflow-wrap: anywhere;
    font-size: 1rem;
}
.passport-id-grid i { color: #51f0c8; }
.passport-meter em {
    color: rgba(255,255,255,.62);
    font-style: normal;
    font-weight: 800;
}
.passport-board.workshop-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
        "route password"
        "pin pin";
}
.passport-board .route-tile { grid-area: route; }
.passport-board .password-tile { grid-area: password; }
.passport-board .pin-tile { grid-area: pin; }

.rb-chat-thread-avatar.has-photo,
.rb-chat-avatar.has-photo,
.rb-message-avatar.has-photo {
    overflow: hidden;
    background: rgba(255,255,255,.10);
}
.rb-message {
    gap: 8px;
    align-items: flex-end;
}
.rb-message.own { justify-content: flex-end; }
.rb-message.theirs { justify-content: flex-start; }
.rb-message-avatar {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    background: linear-gradient(135deg, rgba(81,240,200,.28), rgba(138,125,255,.28));
    color: #dffff7;
    font-weight: 1000;
    font-size: .74rem;
}

body.rb-chat-body.rb-chat-open .rb-chat-messages,
.rb-chat-messages {
    padding-bottom: 34px !important;
    scroll-padding-bottom: 120px;
}
body.rb-chat-body.rb-chat-open .rb-chat-messages::after,
.rb-chat-messages::after {
    content: "";
    display: block;
    min-height: 26px;
    flex: 0 0 26px;
}
body.rb-chat-body.rb-chat-open .rb-chat-panel:not([hidden]) {
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto !important;
}

@media (max-width: 860px) {
    .passport-hero,
    .passport-orbit-card,
    .passport-board.workshop-board {
        grid-template-columns: 1fr;
    }
    .passport-board.workshop-board {
        grid-template-areas: "route" "password" "pin";
    }
}
@media (max-width: 520px) {
    .passport-orbit-card {
        padding: 16px;
        border-radius: 26px;
        gap: 16px;
    }
    
    .passport-photo-form label span { display: none; }
    body.rb-chat-body.rb-chat-open .rb-chat-messages {
        padding-bottom: 42px !important;
        scroll-padding-bottom: 142px;
    }
    body.rb-chat-body.rb-chat-open .rb-chat-messages::after {
        min-height: 38px;
        flex-basis: 38px;
    }

}

/* Chat room moderation upgrades */
.rb-room-state,
.rb-room-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(52,211,153,.36);
    background: rgba(16,185,129,.12);
    color: #bbf7d0;
    font-size: .72rem;
    font-weight: 800;
    padding: .22rem .55rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.rb-room-state.closed,
.rb-room-chip.closed {
    border-color: rgba(251,113,133,.36);
    background: rgba(244,63,94,.14);
    color: #fecdd3;
}
.rb-modal-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
}
.rb-chat-controls-card {
    max-width: 760px;
}
.rb-room-switchboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(15,23,42,.72);
    border: 1px solid rgba(148,163,184,.18);
    margin: 1rem 0;
}
.rb-room-switchboard span {
    display: block;
    color: rgba(226,232,240,.64);
    font-size: .82rem;
}
.rb-room-switchboard strong {
    color: #fff;
    font-size: 1.35rem;
}
.rb-room-switchboard strong.closed {
    color: #fecdd3;
}
.rb-room-switch-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.rb-controls-feed {
    display: grid;
    gap: 1rem;
    max-height: min(62vh, 620px);
    overflow: auto;
    padding-right: .25rem;
}
.rb-control-section {
    border-radius: 24px;
    border: 1px solid rgba(148,163,184,.16);
    background: rgba(2,6,23,.42);
    padding: 1rem;
}
.rb-control-section h3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    font-size: .95rem;
    margin: 0 0 .75rem;
}
.rb-control-section h3 span {
    display: inline-flex;
    min-width: 1.8rem;
    height: 1.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fde68a;
}
.rb-control-member {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .7rem 0;
    border-top: 1px solid rgba(148,163,184,.12);
}
.rb-control-member:first-of-type { border-top: 0; }
.rb-control-member strong {
    color: #fff;
    display: block;
}
.rb-control-member strong em,
.rb-admin-sender em {
    margin-left: .3rem;
    padding: .1rem .4rem;
    border-radius: 999px;
    background: rgba(250,204,21,.16);
    color: #fde68a;
    font-size: .67rem;
    font-style: normal;
    text-transform: uppercase;
}
.rb-control-member small.active { color: #86efac; }
.rb-control-member small.dormant { color: #fca5a5; }
.rb-control-actions {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.rb-control-actions button {
    border: 0;
    border-radius: 999px;
    padding: .42rem .7rem;
    background: rgba(59,130,246,.18);
    color: #bfdbfe;
    font-weight: 800;
    font-size: .76rem;
}
.rb-control-actions button.danger {
    background: rgba(244,63,94,.16);
    color: #fecdd3;
}
.rb-message.admin-message .rb-message-bubble {
    border-color: rgba(250,204,21,.38);
    background: linear-gradient(135deg, rgba(120,53,15,.72), rgba(30,41,59,.86));
    box-shadow: 0 16px 34px rgba(250,204,21,.08);
}
.rb-admin-sender {
    border: 0;
    background: transparent;
    color: #fde68a;
    padding: 0;
    font-weight: 900;
    cursor: pointer;
}
.rb-admin-sender:hover {
    text-decoration: underline;
}
.rb-chat-link {
    color: #93c5fd;
    text-decoration: underline;
    overflow-wrap: anywhere;
}
@media (max-width: 520px) {
    .rb-room-switchboard,
    .rb-control-member {
        grid-template-columns: 1fr;
    }
    .rb-room-switch-actions,
    .rb-control-actions {
        justify-content: flex-start;
    }
}

.team-bonus-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem;
}
.team-bonus-breakdown article {
    border-radius: 24px;
    padding: 1rem;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: #fff;
}
.team-bonus-breakdown span,
.team-bonus-breakdown small {
    display: block;
    color: rgba(255,255,255,.62);
}
.team-bonus-breakdown strong {
    display: block;
    font-size: 1.3rem;
    margin: .3rem 0;
}
@media (max-width: 640px) {
    .team-bonus-breakdown { grid-template-columns: repeat(3, minmax(120px, 1fr)); overflow-x: auto; }
}

/* Admin control panel */
.rb-admin-body {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,209,102,.13), transparent 26%),
        radial-gradient(circle at 100% 12%, rgba(81,240,200,.12), transparent 28%),
        linear-gradient(145deg, #07111f 0%, #0a1323 48%, #130f22 100%);
}
.admin-shell { padding: 34px 0 110px; }
.admin-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
    align-items: stretch;
    margin-bottom: 22px;
}
.admin-hero h1 {
    margin: 8px 0 10px;
    font-size: clamp(2rem, 5vw, 4.1rem);
    line-height: .95;
    letter-spacing: -.06em;
}
.admin-hero p { color: var(--rb-muted); max-width: 760px; line-height: 1.65; }
.admin-identity-card,
.admin-panel,
.admin-stat-grid article,
.admin-tabs,
.admin-ticket,
.admin-room-card,
.legal-panel,
.legal-grid article {
    background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.052));
    border: 1px solid var(--rb-border);
    border-radius: 24px;
    box-shadow: var(--rb-shadow);
}
.admin-identity-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}
.admin-identity-card span,
.admin-identity-card small { color: var(--rb-muted); }
.admin-identity-card strong { font-size: 1.6rem; }
.admin-flash {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    margin: 18px 0;
    border: 1px solid var(--rb-border);
    background: rgba(255,255,255,.08);
    font-weight: 800;
}
.admin-flash.success { border-color: rgba(92,255,157,.35); color: #b9ffd2; }
.admin-flash.danger { border-color: rgba(255,107,107,.35); color: #ffd0d0; }
.admin-flash.warning { border-color: rgba(255,209,102,.35); color: #ffe5a5; }
.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}
.admin-stat-grid article {
    padding: 18px;
    position: relative;
    min-height: 124px;
    overflow: hidden;
}
.admin-stat-grid span { color: var(--rb-muted); font-size: .82rem; font-weight: 800; }
.admin-stat-grid strong { display: block; margin-top: 8px; font-size: 1.45rem; }
.admin-stat-grid i { position: absolute; right: 16px; bottom: 14px; opacity: .16; font-size: 2.2rem; }
.admin-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px;
    margin: 20px 0;
}
.admin-tabs a {
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 999px;
    color: var(--rb-muted);
    font-weight: 900;
}
.admin-tabs a.active,
.admin-tabs a:hover { color: #07111f; background: var(--rb-accent); }
.admin-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-panel { padding: 18px; margin: 16px 0; overflow: hidden; }
.admin-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.admin-panel-head h2 { margin: 0; letter-spacing: -.04em; }
.admin-panel-head span { color: var(--rb-muted); font-weight: 800; font-size: .88rem; }
.admin-rule-list { display: grid; gap: 12px; }
.admin-rule-list div {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
}
.admin-rule-list b { display: block; margin-bottom: 4px; }
.admin-rule-list span { color: var(--rb-muted); line-height: 1.5; }
.admin-queue-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.admin-queue-links a {
    padding: 16px;
    min-height: 132px;
    text-decoration: none;
    border-radius: 20px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.10);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.admin-queue-links i { color: var(--rb-accent); font-size: 1.5rem; }
.admin-queue-links strong { font-size: 1.7rem; }
.admin-queue-links span { color: var(--rb-muted); }
.admin-card-list { display: grid; gap: 14px; }
.admin-card-list.compact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-ticket {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 14px;
    padding: 16px;
}
.admin-ticket-main h3 { margin: 10px 0 6px; }
.admin-ticket-main h3 small { color: var(--rb-muted); font-size: .8rem; font-weight: 700; }
.admin-ticket-main p { color: var(--rb-muted); line-height: 1.5; overflow-wrap: anywhere; }
.admin-action-form,
.admin-builder-form { display: grid; gap: 10px; }
.admin-action-form label,
.admin-builder-form label { color: var(--rb-muted); font-size: .84rem; font-weight: 800; }
.admin-action-form input,
.admin-action-form select,
.admin-builder-form input,
.admin-builder-form select,
.admin-builder-form textarea,
.admin-inline-form select {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,10,20,.45);
    color: var(--rb-text);
    border-radius: 14px;
    padding: 11px 12px;
    outline: none;
}
.admin-builder-form textarea { min-height: 86px; resize: vertical; }
.admin-actions-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.admin-help { color: var(--rb-muted); line-height: 1.4; }
.admin-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.08);
    color: var(--rb-muted);
    font-size: .78rem;
    font-weight: 900;
    text-transform: capitalize;
}
.admin-badge.pending { color: #ffe5a5; border-color: rgba(255,209,102,.35); }
.admin-badge.approved,
.admin-badge.active,
.admin-badge.open { color: #b9ffd2; border-color: rgba(92,255,157,.35); }
.admin-badge.rejected,
.admin-badge.blocked,
.admin-badge.closed { color: #ffd0d0; border-color: rgba(255,107,107,.35); }
.admin-money-triplet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0; }
.admin-money-triplet div { padding: 10px; border-radius: 14px; background: rgba(255,255,255,.06); }
.admin-money-triplet span { display: block; color: var(--rb-muted); font-size: .78rem; }
.admin-money-triplet b { display: block; margin-top: 4px; overflow-wrap: anywhere; }
.admin-table-wrap { overflow-x: auto; border-radius: 18px; border: 1px solid rgba(255,255,255,.10); }
.admin-table-wrap table { width: 100%; border-collapse: collapse; min-width: 840px; }
.admin-table-wrap th,
.admin-table-wrap td { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; vertical-align: top; }
.admin-table-wrap th { color: var(--rb-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
.admin-table-wrap td small { color: var(--rb-muted); }
.admin-inline-form { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0; }
.admin-mini-btn {
    border: 0;
    border-radius: 999px;
    padding: 8px 10px;
    font-weight: 900;
    background: rgba(81,240,200,.18);
    color: var(--rb-text);
    cursor: pointer;
}
.admin-empty {
    padding: 28px;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    color: var(--rb-muted);
    text-align: center;
    font-weight: 800;
}
.admin-room-card { padding: 16px; display: grid; gap: 12px; }
.admin-room-card h3 { margin: 8px 0 4px; }
.admin-room-card p { color: var(--rb-muted); }
.admin-back-link { color: var(--rb-muted); font-weight: 900; text-decoration: none; }

/* Public legal/professional pages */
.legal-shell { padding: 58px 0 110px; }
.legal-hero { max-width: 860px; margin-bottom: 22px; }
.legal-hero h1 { font-size: clamp(2.1rem, 6vw, 4.6rem); line-height: .95; letter-spacing: -.06em; margin: 10px 0 16px; }
.legal-hero p { color: var(--rb-muted); line-height: 1.7; font-size: 1.05rem; }
.legal-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.legal-grid article { padding: 22px; }
.legal-grid i { color: var(--rb-accent); font-size: 1.6rem; }
.legal-grid h2 { margin: 14px 0 8px; }
.legal-grid p,
.legal-panel p { color: var(--rb-muted); line-height: 1.7; }
.legal-panel { padding: 24px; }
.legal-panel h2 { margin-top: 20px; }
.legal-panel h2:first-child { margin-top: 0; }

@media (max-width: 980px) {
    .admin-hero,
    .admin-grid.two,
    .admin-ticket { grid-template-columns: 1fr; }
    .admin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-card-list.compact-cards,
    .legal-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-queue-links { grid-template-columns: 1fr; }
    .admin-money-triplet { grid-template-columns: 1fr; }
    .admin-shell { width: min(100% - 20px, 460px); }
}

/* ===== Patch: confirmation modal, member hub, admin search tools ===== */
.rb-member-nav a[href="more"] { border: 1px solid rgba(255,255,255,.10); }
.rb-modal-copy { color: var(--rb-muted); line-height: 1.65; margin: 8px 0 16px; }
.rb-activation-modal { max-width: 560px; }
.rb-confirm-list { display: grid; gap: 10px; margin: 14px 0 18px; }
.rb-confirm-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.055);
}
.rb-confirm-list span { color: var(--rb-muted); font-weight: 800; }
.rb-confirm-list strong { text-align: right; overflow-wrap: anywhere; }
.rb-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.more-shell { padding-top: 42px; }
.more-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 28px 0; }
.more-card {
    text-decoration: none;
    min-height: 168px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-radius: 24px;
    border: 1px solid var(--rb-border);
    background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.052));
    box-shadow: var(--rb-shadow);
    transition: transform .22s ease, border-color .22s ease;
}
.more-card:hover { transform: translateY(-3px); border-color: rgba(81,240,200,.36); color: var(--rb-text); }
.more-card i { color: var(--rb-accent); font-size: 1.55rem; }
.more-card strong { font-size: 1.06rem; }
.more-card span { color: var(--rb-muted); line-height: 1.45; font-weight: 700; }
.more-logout-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--rb-border);
    border-radius: 24px;
    background: rgba(255,255,255,.07);
    margin-bottom: 120px;
}
.more-logout-panel span { display: block; color: var(--rb-muted); margin-top: 4px; }
.admin-member-search { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: end; }
.admin-member-search label { color: var(--rb-muted); font-size: .86rem; font-weight: 900; }
.admin-member-search input,
.admin-reset-panel input {
    width: 100%;
    margin-top: 7px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,10,20,.45);
    color: var(--rb-text);
    border-radius: 14px;
    padding: 12px 13px;
    outline: none;
}
.admin-member-profile { border-color: rgba(81,240,200,.22); }
.admin-performance-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.admin-performance-grid article {
    padding: 15px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
}
.admin-performance-grid span { display: block; color: var(--rb-muted); font-size: .78rem; font-weight: 900; margin-bottom: 7px; }
.admin-performance-grid strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.admin-member-tools { margin: 18px 0; }
.admin-reset-panel { padding: 18px; border-radius: 22px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.10); }
.admin-reset-panel h3 { margin: 0 0 8px; }
.admin-reset-panel p { color: var(--rb-muted); line-height: 1.5; }
.admin-panel.mini-nested { box-shadow: none; margin: 0; }
.admin-text-link { color: var(--rb-accent); font-weight: 900; text-decoration: none; }
.admin-text-link:hover { text-decoration: underline; }
@media (max-width: 900px) {
    .more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-performance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-member-search { grid-template-columns: 1fr; }
}
@media (max-width: 400px) {
    .more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .more-card { min-height: 142px; padding: 14px; border-radius: 20px; }
    .more-card span { font-size: .82rem; }
    .rb-confirm-actions { grid-template-columns: 1fr; }
    .rb-confirm-list div { display: grid; }
    .rb-confirm-list strong { text-align: left; }
}
