/*
 * RoBoTask Mini App — Production Design System / Phase 8
 * ------------------------------------------------------------
 * Brand values are injected at runtime by mini_head.php from Admin Settings.
 * No app name, logo URL, primary colour or secondary colour is hard-coded here.
 * This stylesheet is self-contained and owns every Mini App rb-* presentation state.
 */

:root {
    /* Dynamic brand aliases. Values originate in Admin Settings. */
    --rb-brand: var(--rb-primary, #334155);
    --rb-accent: var(--rb-secondary, #64748b);
    --rb-brand-rgb: var(--rb-primary-rgb, 51, 65, 85);
    --rb-accent-rgb: var(--rb-secondary-rgb, 100, 116, 139);

    /* Neutral canvas — intentionally brand-independent. */
    --rb-canvas: #f6f7fb;
    --rb-canvas-deep: #eff1f7;
    --rb-surface: #ffffff;
    --rb-surface-soft: #f8f9fc;
    --rb-surface-raised: #ffffff;
    --rb-surface-inverse: #151827;
    --rb-ink: #171927;
    --rb-ink-soft: #424659;
    --rb-muted: #72778c;
    --rb-faint: #a6aabd;
    --rb-line: #e6e8f0;
    --rb-line-strong: #d8dbe6;

    /* Semantic colours never depend on brand colours. */
    --rb-success: #15805f;
    --rb-success-rgb: 21, 128, 95;
    --rb-warning: #b76a08;
    --rb-warning-rgb: 183, 106, 8;
    --rb-danger: #c13f50;
    --rb-danger-rgb: 193, 63, 80;
    --rb-info: #2970d6;
    --rb-info-rgb: 41, 112, 214;

    /* Type */
    --rb-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Noto Sans", Arial, sans-serif;
    --rb-text-2xs: .6875rem;
    --rb-text-xs: .75rem;
    --rb-text-sm: .8125rem;
    --rb-text-md: .9375rem;
    --rb-text-lg: 1.0625rem;
    --rb-text-xl: 1.25rem;
    --rb-text-2xl: 1.5rem;
    --rb-text-3xl: clamp(1.75rem, 7vw, 2.25rem);
    --rb-leading-tight: 1.2;
    --rb-leading-body: 1.55;

    /* Spacing — 4px base rhythm. */
    --rb-space-1: .25rem;
    --rb-space-2: .5rem;
    --rb-space-3: .75rem;
    --rb-space-4: 1rem;
    --rb-space-5: 1.25rem;
    --rb-space-6: 1.5rem;
    --rb-space-7: 1.75rem;
    --rb-space-8: 2rem;
    --rb-space-10: 2.5rem;
    --rb-space-12: 3rem;

    /* Geometry */
    --rb-radius-xs: .5rem;
    --rb-radius-sm: .75rem;
    --rb-radius-md: 1rem;
    --rb-radius-lg: 1.25rem;
    --rb-radius-xl: 1.5rem;
    --rb-radius-2xl: 1.875rem;
    --rb-radius-pill: 999px;

    /* Elevation */
    --rb-shadow-xs: 0 1px 2px rgba(18, 21, 34, .04);
    --rb-shadow-sm: 0 8px 22px rgba(18, 21, 34, .07);
    --rb-shadow-md: 0 14px 36px rgba(18, 21, 34, .10);
    --rb-shadow-brand: 0 12px 30px rgba(var(--rb-brand-rgb), .22);

    /* Dynamic effects derived from runtime brand values. */
    --rb-brand-04: rgba(var(--rb-brand-rgb), .04);
    --rb-brand-08: rgba(var(--rb-brand-rgb), .08);
    --rb-brand-12: rgba(var(--rb-brand-rgb), .12);
    --rb-brand-18: rgba(var(--rb-brand-rgb), .18);
    --rb-brand-28: rgba(var(--rb-brand-rgb), .28);
    --rb-accent-08: rgba(var(--rb-accent-rgb), .08);
    --rb-accent-12: rgba(var(--rb-accent-rgb), .12);
    --rb-accent-20: rgba(var(--rb-accent-rgb), .20);
    --rb-core-gradient: linear-gradient(135deg, var(--rb-brand) 0%, var(--rb-accent) 100%);
    --rb-core-glow: radial-gradient(circle at 15% 10%, var(--rb-brand-18), transparent 34%), radial-gradient(circle at 90% 10%, var(--rb-accent-20), transparent 36%);
    --rb-grid-line: rgba(var(--rb-brand-rgb), .055);

    /* Telegram viewport/safe area */
    --rb-telegram-viewport: 100dvh;
    --rb-safe-top: env(safe-area-inset-top, 0px);
    --rb-safe-right: env(safe-area-inset-right, 0px);
    --rb-safe-bottom: env(safe-area-inset-bottom, 0px);
    --rb-safe-left: env(safe-area-inset-left, 0px);

    /* Motion */
    --rb-ease: cubic-bezier(.2, .75, .25, 1);
    --rb-ease-emphasis: cubic-bezier(.2, .9, .2, 1);
    --rb-fast: 150ms;
    --rb-normal: 240ms;
    --rb-slow: 360ms;

    /* Sizing */
    --rb-content-max: 560px;
    --rb-control-h: 48px;
    --rb-touch-min: 44px;
    --rb-commandbar-h: 76px;
    --rb-dock-h: 72px;
    --rb-dock-gap: 12px;
    --rb-dock-space: calc(var(--rb-dock-h) + var(--rb-dock-gap) + 18px);
}

*, *::before, *::after { box-sizing: border-box; }
html {
    min-height: 100%;
    background: var(--rb-canvas);
    color: var(--rb-ink);
    font-family: var(--rb-font);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}
body.rb-foundation {
    min-width: 0;
    min-height: var(--rb-telegram-viewport);
    margin: 0;
    overflow-x: hidden;
    background:
        var(--rb-core-glow),
        linear-gradient(var(--rb-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--rb-grid-line) 1px, transparent 1px),
        var(--rb-canvas);
    background-size: auto, 28px 28px, 28px 28px, auto;
    color: var(--rb-ink);
    font-family: var(--rb-font);
    font-size: 16px;
    line-height: var(--rb-leading-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.rb-foundation::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.72) 30%, rgba(255,255,255,.86));
}
body.rb-foundation img { max-width: 100%; }
body.rb-foundation button,
body.rb-foundation input,
body.rb-foundation select,
body.rb-foundation textarea { font: inherit; }
body.rb-foundation button,
body.rb-foundation a { touch-action: manipulation; }
body.rb-foundation :focus-visible {
    outline: 3px solid var(--rb-brand-28);
    outline-offset: 2px;
}
body.rb-foundation ::selection {
    color: var(--rb-on-primary, #fff);
    background: var(--rb-brand);
}

/* New Phase-1 primitive layer. */
.rb-page {
    width: min(100%, var(--rb-content-max));
    margin-inline: auto;
    padding-inline: max(var(--rb-space-4), var(--rb-safe-left));
}
.rb-stack { display: grid; gap: var(--rb-space-4); }
.rb-stack--sm { gap: var(--rb-space-3); }
.rb-stack--lg { gap: var(--rb-space-6); }
.rb-cluster { display: flex; align-items: center; flex-wrap: wrap; gap: var(--rb-space-3); }
.rb-split { display: flex; align-items: center; justify-content: space-between; gap: var(--rb-space-4); }

.rb-surface {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: var(--rb-radius-xl);
    background: rgba(255,255,255,.92);
    box-shadow: var(--rb-shadow-xs);
}
.rb-surface--soft { background: rgba(248,249,252,.94); }
.rb-surface--raised { box-shadow: var(--rb-shadow-sm); }
.rb-surface--core {
    color: var(--rb-on-primary, #fff);
    border-color: transparent;
    background: var(--rb-core-gradient);
    box-shadow: var(--rb-shadow-brand);
}
.rb-surface--core::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -70px;
    top: -95px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 0 0 26px rgba(255,255,255,.055), 0 0 0 52px rgba(255,255,255,.035);
    pointer-events: none;
}
.rb-pad { padding: var(--rb-space-5); }
.rb-pad--lg { padding: var(--rb-space-6); }

.rb-kicker {
    margin: 0 0 var(--rb-space-1);
    color: var(--rb-brand);
    font-size: var(--rb-text-2xs);
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}
.rb-title {
    margin: 0;
    color: var(--rb-ink);
    font-size: var(--rb-text-xl);
    font-weight: 800;
    line-height: var(--rb-leading-tight);
    letter-spacing: -.02em;
}
.rb-copy { margin: 0; color: var(--rb-muted); font-size: var(--rb-text-sm); }
.rb-label { color: var(--rb-ink-soft); font-size: var(--rb-text-xs); font-weight: 750; }
.rb-value { color: var(--rb-ink); font-size: var(--rb-text-2xl); font-weight: 850; line-height: 1.1; letter-spacing: -.03em; }

.rb-button {
    min-height: var(--rb-control-h);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--rb-space-2);
    border: 0;
    border-radius: var(--rb-radius-md);
    padding: .75rem 1rem;
    color: var(--rb-on-primary, #fff);
    background: var(--rb-brand);
    box-shadow: 0 8px 18px var(--rb-brand-18);
    font-size: var(--rb-text-sm);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--rb-fast) var(--rb-ease), box-shadow var(--rb-fast) var(--rb-ease), opacity var(--rb-fast) ease;
}
.rb-button:hover { box-shadow: 0 10px 24px var(--rb-brand-28); }
.rb-button:active { transform: translateY(1px) scale(.99); }
.rb-button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.rb-button--gradient { background: var(--rb-core-gradient); }
.rb-button--secondary { color: var(--rb-brand); background: var(--rb-brand-08); box-shadow: none; }
.rb-button--ghost { color: var(--rb-ink-soft); background: transparent; box-shadow: none; }
.rb-button--block { width: 100%; }

.rb-icon-button {
    width: var(--rb-touch-min);
    height: var(--rb-touch-min);
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--rb-line);
    border-radius: var(--rb-radius-md);
    color: var(--rb-ink-soft);
    background: rgba(255,255,255,.9);
    box-shadow: var(--rb-shadow-xs);
}

.rb-chip {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--rb-line);
    border-radius: var(--rb-radius-pill);
    padding: .35rem .65rem;
    color: var(--rb-ink-soft);
    background: rgba(255,255,255,.78);
    font-size: var(--rb-text-xs);
    font-weight: 750;
}
.rb-chip--brand { color: var(--rb-brand); border-color: var(--rb-brand-12); background: var(--rb-brand-08); }
.rb-chip--success { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.16); background: rgba(var(--rb-success-rgb),.08); }
.rb-chip--warning { color: var(--rb-warning); border-color: rgba(var(--rb-warning-rgb),.16); background: rgba(var(--rb-warning-rgb),.08); }
.rb-chip--danger { color: var(--rb-danger); border-color: rgba(var(--rb-danger-rgb),.16); background: rgba(var(--rb-danger-rgb),.08); }

.rb-field { display: grid; gap: var(--rb-space-2); }
.rb-input,
.rb-select,
.rb-textarea {
    width: 100%;
    min-height: var(--rb-control-h);
    border: 1px solid var(--rb-line-strong);
    border-radius: var(--rb-radius-md);
    padding: .75rem .875rem;
    color: var(--rb-ink);
    background: rgba(255,255,255,.92);
    box-shadow: inset 0 1px 1px rgba(18,21,34,.02);
    transition: border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease, background var(--rb-fast) ease;
}
.rb-input:focus,
.rb-select:focus,
.rb-textarea:focus {
    outline: 0;
    border-color: var(--rb-brand);
    background: #fff;
    box-shadow: 0 0 0 4px var(--rb-brand-08);
}
.rb-input::placeholder,
.rb-textarea::placeholder { color: var(--rb-faint); }

.rb-progress {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: var(--rb-radius-pill);
    background: var(--rb-surface-soft);
    box-shadow: inset 0 0 0 1px var(--rb-line);
}
.rb-progress__bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--rb-core-gradient);
    transition: width var(--rb-slow) var(--rb-ease-emphasis);
}

.rb-divider { height: 1px; border: 0; margin: 0; background: var(--rb-line); }
.rb-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Runtime feedback components are already switched to the rb namespace. */
.rb-toast {
    position: fixed;
    left: 50%;
    bottom: calc(var(--rb-dock-space) + var(--rb-safe-bottom));
    z-index: 9999;
    width: min(calc(100% - 32px), 430px);
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: var(--rb-radius-lg);
    padding: .75rem .875rem;
    color: #fff;
    background: var(--rb-surface-inverse);
    box-shadow: 0 18px 46px rgba(18,21,34,.24);
    font-size: var(--rb-text-sm);
    font-weight: 720;
    transition: opacity var(--rb-normal) ease, transform var(--rb-normal) var(--rb-ease);
    animation: rb-toast-in var(--rb-normal) var(--rb-ease-emphasis) both;
}
.rb-toast[data-tone="success"] { background: var(--rb-success); }
.rb-toast[data-tone="error"] { background: var(--rb-danger); }
.rb-toast[data-tone="brand"] { background: var(--rb-brand); }
.rb-toast__icon { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); }
@keyframes rb-toast-in { from { opacity: 0; transform: translate(-50%, 8px) scale(.98); } to { opacity: 1; transform: translate(-50%,0) scale(1); } }

.rb-offline-banner {
    position: fixed;
    top: calc(10px + var(--rb-safe-top));
    left: 50%;
    z-index: 9998;
    width: min(calc(100% - 28px), 520px);
    transform: translateX(-50%);
    border: 1px solid rgba(var(--rb-danger-rgb), .16);
    border-radius: var(--rb-radius-md);
    padding: .65rem .85rem;
    color: var(--rb-danger);
    background: rgba(255,248,249,.96);
    box-shadow: var(--rb-shadow-sm);
    font-size: var(--rb-text-xs);
    font-weight: 760;
    text-align: center;
}
html.is-offline body.rb-foundation { filter: saturate(.92); }

/* Shared state hooks for upcoming screen migrations. */
[data-rb-state="loading"] { cursor: progress; }
[data-rb-state="disabled"] { opacity: .55; pointer-events: none; }
[data-rb-state="success"] { --rb-state-color: var(--rb-success); }
[data-rb-state="warning"] { --rb-state-color: var(--rb-warning); }
[data-rb-state="danger"] { --rb-state-color: var(--rb-danger); }

/* Responsive guardrails */
@media (max-width: 360px) {
    :root { --rb-space-4: .875rem; --rb-space-5: 1rem; --rb-space-6: 1.25rem; }
    .rb-page { padding-inline: max(.875rem, var(--rb-safe-left)); }
}
@media (min-width: 600px) {
    body.rb-foundation { background-size: auto, 32px 32px, 32px 32px, auto; }
}



/* ============================================================
   Phase 2 — RoBoTask global shell / Robot Command Header
   ============================================================ */
.rb-shell {
    position: relative;
    width: min(100%, var(--rb-content-max));
    min-height: 100vh;
    min-height: 100dvh;
    min-height: var(--rb-telegram-viewport);
    margin-inline: auto;
    overflow-x: clip;
    isolation: isolate;
}
.rb-shell--chrome {
    padding-bottom: calc(var(--rb-dock-space) + var(--rb-safe-bottom));
}
.rb-shell--plain { padding-bottom: var(--rb-safe-bottom); }
html[data-route-transition="pending"] .rb-shell { cursor: progress; }

.rb-commandbar {
    position: sticky;
    top: 0;
    z-index: 260;
    width: 100%;
    padding-top: var(--rb-safe-top);
    background: linear-gradient(180deg, rgba(246,247,251,.94) 0%, rgba(246,247,251,.76) 72%, rgba(246,247,251,0) 100%);
    transition: filter var(--rb-normal) ease;
}
.rb-commandbar__inner {
    position: relative;
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .72rem;
    margin: .5rem max(.7rem, var(--rb-safe-right)) .34rem max(.7rem, var(--rb-safe-left));
    padding: .48rem .52rem .48rem .58rem;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 1.25rem;
    background:
        linear-gradient(112deg, rgba(255,255,255,.94), rgba(255,255,255,.79)),
        var(--rb-surface);
    box-shadow: 0 7px 22px rgba(18,21,34,.065), inset 0 0 0 1px rgba(var(--rb-brand-rgb),.035);
    -webkit-backdrop-filter: blur(16px) saturate(1.16);
    backdrop-filter: blur(16px) saturate(1.16);
    transition: transform var(--rb-normal) var(--rb-ease), box-shadow var(--rb-normal) ease, border-color var(--rb-normal) ease;
}
.rb-commandbar__inner::after {
    content: "";
    position: absolute;
    left: 1.05rem;
    right: 1.05rem;
    bottom: -1px;
    height: 1px;
    opacity: .42;
    background: linear-gradient(90deg, transparent, var(--rb-brand), var(--rb-accent), transparent);
    pointer-events: none;
}
.rb-commandbar.is-scrolled .rb-commandbar__inner {
    border-color: rgba(var(--rb-brand-rgb),.10);
    box-shadow: 0 10px 30px rgba(18,21,34,.095), inset 0 0 0 1px rgba(255,255,255,.65);
}

.rb-commandbar__brand {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: .67rem;
    color: inherit;
    text-decoration: none;
    border-radius: 1rem;
}
.rb-brand-core {
    position: relative;
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    overflow: visible;
    border: 1px solid rgba(var(--rb-brand-rgb),.14);
    border-radius: 15px;
    color: var(--rb-on-primary, #fff);
    background: var(--rb-core-gradient);
    box-shadow: 0 9px 20px var(--rb-brand-18), inset 0 1px 0 rgba(255,255,255,.22);
}
.rb-brand-core::before {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 11px;
    pointer-events: none;
}
.rb-brand-core__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    z-index: 1;
}
.rb-brand-core img {
    position: absolute;
    inset: 2px;
    z-index: 2;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    object-fit: contain;
    padding: 3px;
    border-radius: 12px;
    background: rgba(255,255,255,.96);
}
.rb-brand-core__signal {
    position: absolute;
    right: -2px;
    bottom: -2px;
    z-index: 4;
    width: 11px;
    height: 11px;
    border: 2px solid var(--rb-surface);
    border-radius: 50%;
    background: var(--rb-success);
    box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.10);
}
.rb-commandbar__identity {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: .08rem;
}
.rb-commandbar__system {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    width: max-content;
    color: var(--rb-muted);
    font-size: .625rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .12em;
}
.rb-commandbar__system i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rb-success);
    box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.08);
}
.rb-commandbar__identity strong {
    max-width: min(35vw, 11.8rem);
    overflow: hidden;
    color: var(--rb-ink);
    font-size: .95rem;
    font-weight: 880;
    line-height: 1.22;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-commandbar__identity small {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .28rem;
    overflow: hidden;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 820;
    line-height: 1.15;
    letter-spacing: .075em;
    white-space: nowrap;
}
.rb-commandbar__identity small span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}
.rb-commandbar__identity small b { color: var(--rb-faint); font-weight: 650; }

.rb-commandbar__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: .42rem;
}
.rb-commandbar__action,
.rb-user-core {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
}
.rb-commandbar__action {
    position: relative;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-line);
    border-radius: 13px;
    color: var(--rb-ink-soft);
    background: rgba(248,249,252,.92);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    text-decoration: none;
    transition: color var(--rb-fast) ease, border-color var(--rb-fast) ease, background var(--rb-fast) ease, transform var(--rb-fast) var(--rb-ease);
}
.rb-commandbar__action::after {
    content: "";
    position: absolute;
    right: 7px;
    top: 7px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--rb-accent);
    box-shadow: 0 0 0 2px var(--rb-accent-08);
}
.rb-commandbar__action:active { transform: scale(.95); }
.rb-commandbar__action:hover,
.rb-commandbar__action:focus-visible {
    color: var(--rb-brand);
    border-color: var(--rb-brand-18);
    background: var(--rb-brand-08);
}
.rb-user-core {
    position: relative;
    overflow: visible;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-18);
    border-radius: 14px;
    color: var(--rb-brand);
    background: linear-gradient(145deg, var(--rb-brand-08), var(--rb-accent-08));
    font-size: .78rem;
    font-weight: 900;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.72);
}
.rb-user-core__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: inherit;
}
.rb-user-core img {
    position: absolute;
    inset: 2px;
    z-index: 1;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    object-fit: cover;
    border-radius: 11px;
    background: var(--rb-surface);
}
.rb-user-core__status {
    position: absolute;
    z-index: 3;
    right: -2px;
    bottom: -2px;
    width: 10px;
    height: 10px;
    border: 2px solid var(--rb-surface);
    border-radius: 50%;
    background: var(--rb-success);
}

/* Phase 2 — Floating Control Dock */
.rb-dock {
    position: fixed;
    left: 50%;
    bottom: calc(var(--rb-dock-gap) + var(--rb-safe-bottom));
    z-index: 300;
    width: min(calc(100% - 20px), calc(var(--rb-content-max) - 14px));
    transform: translateX(-50%);
    pointer-events: none;
}
.rb-dock::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: -9px;
    height: 22px;
    border-radius: 50%;
    background: rgba(18,21,34,.11);
    filter: blur(14px);
    opacity: .6;
    pointer-events: none;
}
.rb-dock__rail {
    position: relative;
    min-height: var(--rb-dock-h);
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    align-items: stretch;
    gap: 2px;
    padding: 6px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 22px;
    background: rgba(255,255,255,.91);
    box-shadow: 0 17px 45px rgba(18,21,34,.15), inset 0 0 0 1px rgba(var(--rb-brand-rgb),.035);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    backdrop-filter: blur(20px) saturate(1.2);
    pointer-events: auto;
}
.rb-dock__rail::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .55;
    background: linear-gradient(105deg, var(--rb-brand-04), transparent 35%, var(--rb-accent-08));
    pointer-events: none;
}
.rb-dock__item {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 58px;
    display: grid;
    grid-template-rows: 31px auto;
    place-items: center;
    align-content: center;
    gap: 2px;
    padding: 3px 2px 2px;
    overflow: hidden;
    border-radius: 16px;
    color: var(--rb-muted);
    text-decoration: none;
    transition: color var(--rb-fast) ease, background var(--rb-fast) ease, transform var(--rb-fast) var(--rb-ease);
}
.rb-dock__item::before {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: -1;
    border: 1px solid transparent;
    border-radius: 14px;
    opacity: 0;
    transform: scale(.92);
    transition: opacity var(--rb-normal) ease, transform var(--rb-normal) var(--rb-ease-emphasis);
}
.rb-dock__item:active { transform: translateY(1px) scale(.97); }
.rb-dock__icon {
    position: relative;
    width: 35px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    transition: color var(--rb-fast) ease, background var(--rb-fast) ease, box-shadow var(--rb-fast) ease, transform var(--rb-normal) var(--rb-ease-emphasis);
}
.rb-dock__icon svg { position: relative; z-index: 2; }
.rb-dock__icon i {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 5px;
    height: 5px;
    transform: translate(-50%,-50%) scale(0);
    border-radius: 50%;
    background: currentColor;
    opacity: .22;
}
.rb-dock__label {
    max-width: 100%;
    overflow: hidden;
    font-size: .625rem;
    font-weight: 780;
    line-height: 1.05;
    letter-spacing: -.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-dock__node {
    position: absolute;
    right: 7px;
    top: 6px;
    color: var(--rb-faint);
    font-size: .625rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .06em;
    opacity: .55;
}
.rb-dock__item.is-active { color: var(--rb-brand); }
.rb-dock__item.is-active::before {
    opacity: 1;
    transform: scale(1);
    border-color: var(--rb-brand-08);
    background: linear-gradient(145deg, var(--rb-brand-08), var(--rb-accent-08));
}
.rb-dock__item.is-active .rb-dock__icon {
    color: var(--rb-on-primary, #fff);
    background: var(--rb-core-gradient);
    box-shadow: 0 7px 16px var(--rb-brand-18), inset 0 1px 0 rgba(255,255,255,.22);
    transform: translateY(-1px);
}
.rb-dock__item.is-active .rb-dock__node { color: var(--rb-brand); opacity: .82; }
.rb-dock__item.is-pending .rb-dock__icon { animation: rb-dock-pending .65s ease-in-out infinite alternate; }
@keyframes rb-dock-pending {
    from { transform: translateY(-1px) scale(.96); filter: saturate(.88); }
    to { transform: translateY(-1px) scale(1.04); filter: saturate(1.2); }
}

@media (max-width: 370px) {
    .rb-commandbar__inner { margin-inline: .5rem; gap: .45rem; padding-left: .48rem; }
    .rb-brand-core { width: 41px; height: 41px; flex-basis: 41px; border-radius: 13px; }
    .rb-commandbar__brand { gap: .52rem; }
    .rb-commandbar__identity strong { max-width: 29vw; font-size: .88rem; }
    .rb-commandbar__identity small span:last-child { max-width: 18vw; }
    .rb-commandbar__action { width: 44px; height: 44px; flex-basis: 44px; }
    .rb-user-core { width: 39px; height: 39px; flex-basis: 39px; }
    .rb-commandbar__actions { gap: .3rem; }
    .rb-dock { width: calc(100% - 12px); }
    .rb-dock__rail { gap: 0; padding-inline: 4px; border-radius: 19px; }
    .rb-dock__item { border-radius: 14px; }
    .rb-dock__node { display: none; }
    .rb-dock__label { font-size: .625rem; }
}

@media (min-width: 600px) {
    .rb-shell { border-inline: 1px solid rgba(var(--rb-brand-rgb),.055); }
    .rb-commandbar__inner { margin-inline: .85rem; }
}

/* Accessibility: animation is enhancement, never a requirement. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Print is not a product target, but prevents decorative layers wasting ink. */
@media print {
    body.rb-foundation { background: #fff !important; }
    body.rb-foundation::before { display: none; }
}

/* ========================================================================
   Phase 3 — Mission Control Dashboard
   Mission Control dashboard presentation.
   ======================================================================== */
.rb-dashboard {
    display: grid;
    gap: 1rem;
    padding-top: .62rem;
    padding-bottom: 1rem;
}

.rb-dashboard-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    padding: .4rem .1rem .15rem;
}
.rb-dashboard-intro__copy { min-width: 0; }
.rb-dashboard-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    margin-bottom: .34rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .14em;
}
.rb-dashboard-intro__eyebrow i {
    width: 7px;
    height: 7px;
    border: 2px solid var(--rb-brand);
    border-radius: 2px;
    transform: rotate(45deg);
    box-shadow: 0 0 0 3px var(--rb-brand-08);
}
.rb-dashboard-intro h1 {
    margin: 0;
    color: var(--rb-ink);
    font-size: clamp(1.22rem, 5vw, 1.55rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.rb-dashboard-intro p {
    max-width: 390px;
    margin: .3rem 0 0;
    color: var(--rb-muted);
    font-size: .77rem;
    line-height: 1.55;
}
.rb-dashboard-intro__status {
    flex: 0 0 auto;
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .18rem;
    border: 1px solid rgba(var(--rb-success-rgb),.14);
    border-radius: var(--rb-radius-pill);
    padding: .3rem .58rem;
    color: var(--rb-success);
    background: rgba(var(--rb-success-rgb),.065);
    font-size: .625rem;
    font-weight: 850;
    white-space: nowrap;
}
.rb-dashboard-intro__status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-success);
    box-shadow: 0 0 0 4px rgba(var(--rb-success-rgb),.09);
    animation: rb-dashboard-online 1.8s ease-in-out infinite;
}
@keyframes rb-dashboard-online {
    0%,100% { box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.08); }
    50% { box-shadow: 0 0 0 6px rgba(var(--rb-success-rgb),.02); }
}

/* Balance / mission core */
.rb-core-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 27px;
    padding: 1.18rem;
    color: #fff;
    background:
        radial-gradient(circle at 92% 8%, var(--rb-accent-20), transparent 34%),
        radial-gradient(circle at -5% 105%, var(--rb-brand-28), transparent 47%),
        linear-gradient(145deg, #171a2a 0%, #111420 100%);
    box-shadow: 0 18px 42px rgba(18,21,34,.16), inset 0 1px 0 rgba(255,255,255,.055);
}
.rb-core-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -76px;
    top: -85px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(255,255,255,.024), 0 0 0 49px rgba(255,255,255,.014);
}
.rb-core-card__grid {
    position: absolute;
    z-index: -2;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 29px 29px;
    -webkit-mask-image: linear-gradient(135deg, transparent 7%, #000 42%, transparent 90%);
    mask-image: linear-gradient(135deg, transparent 7%, #000 42%, transparent 90%);
}
.rb-core-card__beam {
    position: absolute;
    z-index: -1;
    left: 9%;
    right: 9%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--rb-brand), var(--rb-accent), transparent);
    box-shadow: 0 0 18px var(--rb-brand-28);
    opacity: .9;
}
.rb-core-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.rb-core-card__head > div { min-width: 0; }
.rb-core-card__kicker {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: rgba(255,255,255,.78);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .13em;
}
.rb-core-card__kicker i {
    width: 14px;
    height: 2px;
    border-radius: 3px;
    background: var(--rb-accent);
    box-shadow: 0 0 8px var(--rb-accent);
}
.rb-core-card__head p {
    margin: .34rem 0 0;
    color: rgba(255,255,255,.52);
    font-size: .69rem;
    font-weight: 650;
}
.rb-core-card__secure {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: var(--rb-radius-pill);
    padding: .3rem .5rem;
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.055);
    font-size: .625rem;
    font-weight: 850;
    letter-spacing: .08em;
}
.rb-core-card__balance {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    margin-top: .78rem;
}
.rb-core-card__balance h2 {
    min-width: 0;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 9vw, 2.7rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.055em;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.rb-core-card__balance > span {
    color: rgba(255,255,255,.37);
    font-size: .625rem;
    font-weight: 850;
    letter-spacing: .1em;
}
.rb-core-card__mission {
    display: grid;
    grid-template-columns: 68px minmax(0,1fr);
    align-items: center;
    gap: .82rem;
    margin-top: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: .75rem;
    background: rgba(255,255,255,.045);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.rb-mission-meter {
    --rb-meter-size: 62px;
    position: relative;
    width: var(--rb-meter-size);
    height: var(--rb-meter-size);
    display: grid;
    place-items: center;
    border-radius: 50%;
}
.rb-mission-meter__ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(var(--rb-accent) 0 var(--rb-mission-progress), rgba(255,255,255,.095) var(--rb-mission-progress) 100%);
    box-shadow: 0 0 20px rgba(var(--rb-accent-rgb),.12);
}
.rb-mission-meter__ring::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    background: #151824;
}
.rb-mission-meter__value {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: baseline;
    color: #fff;
}
.rb-mission-meter__value strong { font-size: 1rem; font-weight: 900; line-height: 1; }
.rb-mission-meter__value small { color: rgba(255,255,255,.45); font-size: .625rem; font-weight: 800; }
.rb-core-card__mission-copy { min-width: 0; }
.rb-core-card__mission-copy > span {
    display: block;
    color: var(--rb-accent);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .11em;
}
.rb-core-card__mission-copy > strong {
    display: block;
    margin-top: .15rem;
    color: rgba(255,255,255,.92);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.3;
}
.rb-core-card__progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    margin-top: .3rem;
    color: rgba(255,255,255,.42);
    font-size: .625rem;
    font-weight: 700;
}
.rb-core-card__footer {
    display: grid;
    grid-template-columns: minmax(0,.82fr) 1px minmax(0,1.18fr);
    align-items: center;
    gap: .85rem;
    margin-top: .9rem;
}
.rb-core-stat { display: grid; gap: .04rem; min-width: 0; }
.rb-core-stat span { color: rgba(255,255,255,.43); font-size: .625rem; font-weight: 700; }
.rb-core-stat strong { color: #fff; font-size: 1.05rem; font-weight: 900; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rb-core-stat small { color: rgba(255,255,255,.28); font-size: .625rem; font-weight: 850; letter-spacing: .1em; }
.rb-core-card__divider { width: 1px; height: 35px; background: rgba(255,255,255,.09); }
.rb-core-card__action {
    min-width: 0;
    min-height: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    padding: .65rem .75rem;
    color: #fff;
    background: linear-gradient(135deg, rgba(var(--rb-brand-rgb),.54), rgba(var(--rb-accent-rgb),.45));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
    font-size: .72rem;
    font-weight: 850;
    text-decoration: none;
    transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease, filter var(--rb-fast) ease;
}
.rb-core-card__action:active { transform: scale(.98); }
.rb-core-card__action:hover { border-color: rgba(255,255,255,.2); filter: brightness(1.05); }
.rb-core-card__action svg { flex: 0 0 auto; }

/* System Broadcast */
.rb-broadcast {
    min-height: 54px;
    display: grid;
    grid-template-columns: 38px auto minmax(0,1fr);
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: 17px;
    background: rgba(255,255,255,.88);
    box-shadow: var(--rb-shadow-xs);
}
.rb-broadcast__signal {
    position: relative;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--rb-brand);
    background: linear-gradient(180deg, var(--rb-brand-08), var(--rb-accent-08));
}
.rb-broadcast__signal > span {
    position: absolute;
    right: -1px;
    top: 9px;
    bottom: 9px;
    width: 1px;
    background: var(--rb-brand-12);
}
.rb-broadcast__label {
    display: grid;
    gap: .02rem;
    padding: 0 .68rem;
    border-right: 1px solid var(--rb-line);
    white-space: nowrap;
}
.rb-broadcast__label strong { color: var(--rb-ink); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-broadcast__label span { color: var(--rb-muted); font-size: .625rem; font-weight: 780; letter-spacing: .06em; }
.rb-broadcast__viewport {
    min-width: 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.rb-broadcast__track {
    width: max-content;
    display: flex;
    align-items: center;
    animation: rb-broadcast-scroll var(--rb-broadcast-duration, 24s) linear infinite;
    will-change: transform;
}
.rb-broadcast__group { display: flex; align-items: center; flex: none; }
.rb-broadcast__item {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding-right: 1.35rem;
    color: var(--rb-ink-soft);
    font-size: .69rem;
    font-weight: 700;
    white-space: nowrap;
}
.rb-broadcast__item i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rb-accent);
    box-shadow: 0 0 0 3px var(--rb-accent-08);
}
@keyframes rb-broadcast-scroll { to { transform: translateX(-50%); } }

/* Section heads */
.rb-dashboard-section { display: grid; gap: .72rem; }
.rb-dashboard-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 .1rem;
}
.rb-dashboard-section__head > div { min-width: 0; }
.rb-dashboard-section__head span {
    display: block;
    margin-bottom: .16rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .12em;
}
.rb-dashboard-section__head h2 {
    margin: 0;
    color: var(--rb-ink);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.025em;
}
.rb-dashboard-section__head > small {
    flex: 0 0 auto;
    border: 1px solid var(--rb-line);
    border-radius: var(--rb-radius-pill);
    padding: .26rem .48rem;
    color: var(--rb-muted);
    background: rgba(255,255,255,.78);
    font-size: .625rem;
    font-weight: 850;
    letter-spacing: .07em;
}

/* Command modules */
.rb-module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .62rem;
}
.rb-module-card {
    --rb-module-color: var(--rb-brand);
    --rb-module-rgb: var(--rb-brand-rgb);
    position: relative;
    min-width: 0;
    min-height: 104px;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) 18px;
    align-items: center;
    gap: .55rem;
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: 19px;
    padding: .72rem .68rem;
    color: var(--rb-ink);
    background:
        radial-gradient(circle at 105% -20%, rgba(var(--rb-module-rgb),.12), transparent 45%),
        rgba(255,255,255,.92);
    box-shadow: var(--rb-shadow-xs);
    text-decoration: none;
    transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease;
}
.rb-module-card--accent { --rb-module-color: var(--rb-accent); --rb-module-rgb: var(--rb-accent-rgb); }
.rb-module-card--network { --rb-module-color: var(--rb-success); --rb-module-rgb: var(--rb-success-rgb); }
.rb-module-card--rank { --rb-module-color: var(--rb-warning); --rb-module-rgb: var(--rb-warning-rgb); }
.rb-module-card::after {
    content: "";
    position: absolute;
    right: -15px;
    bottom: -28px;
    width: 76px;
    height: 76px;
    border: 1px solid rgba(var(--rb-module-rgb),.09);
    border-radius: 50%;
    box-shadow: 0 0 0 13px rgba(var(--rb-module-rgb),.025);
    pointer-events: none;
}
.rb-module-card:hover { border-color: rgba(var(--rb-module-rgb),.18); box-shadow: 0 10px 24px rgba(18,21,34,.075); }
.rb-module-card:active { transform: scale(.985); }
.rb-module-card__index {
    position: absolute;
    left: .66rem;
    top: .43rem;
    color: rgba(var(--rb-module-rgb),.38);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.rb-module-card__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--rb-module-rgb),.12);
    border-radius: 13px;
    color: var(--rb-module-color);
    background: rgba(var(--rb-module-rgb),.075);
}
.rb-module-card__copy { min-width: 0; display: grid; gap: .1rem; }
.rb-module-card__copy strong {
    overflow: hidden;
    color: var(--rb-ink);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-module-card__copy small {
    overflow: hidden;
    color: var(--rb-muted);
    font-size: .625rem;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-module-card__arrow { color: var(--rb-faint); }

/* Command updates */
.rb-updates { min-width: 0; }
.rb-update-rail {
    display: flex;
    gap: .72rem;
    margin-inline: calc(-1 * max(var(--rb-space-4), var(--rb-safe-left)));
    padding-inline: max(var(--rb-space-4), var(--rb-safe-left));
    padding-bottom: .15rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: max(var(--rb-space-4), var(--rb-safe-left));
}
.rb-update-rail::-webkit-scrollbar { display: none; }
.rb-update-card {
    flex: 0 0 min(84%, 420px);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: 20px;
    color: var(--rb-ink);
    background: rgba(255,255,255,.92);
    box-shadow: var(--rb-shadow-sm);
    text-decoration: none;
    scroll-snap-align: start;
    transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease;
}
.rb-update-card:active { transform: scale(.99); }
.rb-update-card:hover { border-color: var(--rb-brand-18); }
.rb-update-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 10%, var(--rb-brand-18), transparent 35%),
        radial-gradient(circle at 88% 25%, var(--rb-accent-20), transparent 38%),
        var(--rb-surface-soft);
}
.rb-update-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 -26px 36px rgba(17,20,32,.06);
    pointer-events: none;
}
.rb-update-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rb-update-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--rb-brand); }
.rb-update-card__number {
    position: absolute;
    z-index: 2;
    right: .55rem;
    top: .55rem;
    min-width: 28px;
    min-height: 24px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 9px;
    padding: 0 .35rem;
    color: #fff;
    background: rgba(17,20,32,.58);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.rb-update-card__caption {
    min-height: 47px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .63rem .75rem;
}
.rb-update-card__caption strong {
    min-width: 0;
    overflow: hidden;
    color: var(--rb-ink-soft);
    font-size: .68rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-update-card__caption small { flex: none; color: var(--rb-brand); font-size: .625rem; font-weight: 900; letter-spacing: .07em; }
.rb-update-dots { display: flex; justify-content: center; gap: 4px; min-height: 6px; }
.rb-update-dots i {
    width: 5px;
    height: 5px;
    border-radius: 99px;
    background: var(--rb-line-strong);
    transition: width var(--rb-normal) var(--rb-ease), background var(--rb-normal) ease;
}
.rb-update-dots i.is-active { width: 17px; background: var(--rb-core-gradient); }

/* Support terminal */
.rb-support-terminal {
    position: relative;
    min-height: 72px;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) 20px;
    align-items: center;
    gap: .72rem;
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: 20px;
    padding: .78rem .85rem;
    color: var(--rb-ink);
    background: linear-gradient(110deg, rgba(255,255,255,.94), rgba(var(--rb-brand-rgb),.035));
    box-shadow: var(--rb-shadow-xs);
    text-decoration: none;
    transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease;
}
.rb-support-terminal::after {
    content: "";
    position: absolute;
    right: -30px;
    top: -45px;
    width: 105px;
    height: 105px;
    border: 1px solid var(--rb-brand-08);
    border-radius: 50%;
    box-shadow: 0 0 0 17px var(--rb-brand-04);
    pointer-events: none;
}
.rb-support-terminal:hover { border-color: var(--rb-brand-18); box-shadow: var(--rb-shadow-sm); }
.rb-support-terminal:active { transform: scale(.99); }
.rb-support-terminal__pulse {
    position: absolute;
    left: 11px;
    top: 10px;
    width: 6px;
    height: 6px;
    display: grid;
    place-items: center;
}
.rb-support-terminal__pulse i { width: 4px; height: 4px; border-radius: 50%; background: var(--rb-success); box-shadow: 0 0 0 4px rgba(var(--rb-success-rgb),.08); }
.rb-support-terminal__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-12);
    border-radius: 13px;
    color: var(--rb-brand);
    background: var(--rb-brand-08);
}
.rb-support-terminal__copy { min-width: 0; display: grid; gap: .03rem; }
.rb-support-terminal__copy small { color: var(--rb-brand); font-size: .625rem; font-weight: 900; letter-spacing: .1em; }
.rb-support-terminal__copy strong { color: var(--rb-ink); font-size: .76rem; font-weight: 900; }
.rb-support-terminal__copy span { overflow: hidden; color: var(--rb-muted); font-size: .625rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.rb-support-terminal__arrow { position: relative; z-index: 2; color: var(--rb-muted); }

[data-rb-disabled-link="true"] { cursor: default; }
[data-rb-disabled-link="true"]:active { transform: none; }

@media (max-width: 390px) {
    .rb-dashboard { gap: .85rem; }
    .rb-dashboard-intro { align-items: center; }
    .rb-dashboard-intro p { font-size: .70rem; }
    .rb-dashboard-intro__status { font-size: .625rem; padding-inline: .48rem; }
    .rb-core-card { padding: 1rem; border-radius: 24px; }
    .rb-core-card__balance h2 { font-size: clamp(1.85rem, 9vw, 2.25rem); }
    .rb-core-card__mission { grid-template-columns: 61px minmax(0,1fr); gap: .62rem; padding: .65rem; }
    .rb-mission-meter { --rb-meter-size: 57px; }
    .rb-core-card__footer { gap: .62rem; }
    .rb-core-card__action { padding-inline: .62rem; font-size: .66rem; }
    .rb-broadcast { grid-template-columns: 36px minmax(0,1fr); }
    .rb-broadcast__label { display: none; }
    .rb-module-card { min-height: 95px; grid-template-columns: 38px minmax(0,1fr) 14px; gap: .42rem; padding-inline: .56rem; }
    .rb-module-card__icon { width: 38px; height: 38px; border-radius: 12px; }
    .rb-module-card__copy strong { font-size: .72rem; }
    .rb-module-card__copy small { font-size: .625rem; }
}

@media (max-width: 340px) {
    .rb-dashboard-intro__status { display: none; }
    .rb-module-grid { grid-template-columns: 1fr; }
    .rb-module-card { min-height: 78px; }
    .rb-update-card { flex-basis: 91%; }
}

@media (min-width: 520px) {
    .rb-core-card { padding: 1.35rem; }
    .rb-update-card { flex-basis: 72%; }
}

@media (prefers-reduced-motion: reduce) {
    .rb-dashboard-intro__status i { animation: none !important; }
    .rb-broadcast__track { animation: none !important; transform: none !important; }
    .rb-broadcast__group[aria-hidden="true"] { display: none !important; }
}

/* ============================================================
   Phase 4 — Mission Queue / Tasks
   Mission Queue task presentation.
   ============================================================ */
.rb-task-console {
    display: grid;
    gap: .92rem;
    padding-top: .15rem;
}
.rb-task-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .85rem;
    padding: .15rem .1rem .05rem;
}
.rb-task-intro__copy { min-width: 0; }
.rb-task-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    margin-bottom: .3rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .13em;
}
.rb-task-intro__eyebrow i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-brand);
    box-shadow: 0 0 0 4px var(--rb-brand-08);
}
.rb-task-intro h1 {
    margin: 0;
    color: var(--rb-ink);
    font-size: clamp(1.42rem, 6vw, 1.78rem);
    font-weight: 950;
    line-height: 1.13;
    letter-spacing: -.045em;
}
.rb-task-intro p {
    max-width: 430px;
    margin: .38rem 0 0;
    color: var(--rb-muted);
    font-size: .72rem;
    font-weight: 620;
    line-height: 1.55;
}
.rb-task-intro__status {
    flex: none;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    border: 1px solid rgba(var(--rb-success-rgb),.15);
    border-radius: var(--rb-radius-pill);
    padding: .3rem .56rem;
    color: var(--rb-success);
    background: rgba(var(--rb-success-rgb),.065);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .08em;
    white-space: nowrap;
}
.rb-task-intro__status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.09);
    animation: rb-task-ready-pulse 1.8s ease-in-out infinite;
}
.rb-task-intro__status.is-complete { color: var(--rb-info); border-color: rgba(var(--rb-info-rgb),.15); background: rgba(var(--rb-info-rgb),.065); }
.rb-task-intro__status.is-complete i { box-shadow: 0 0 0 3px rgba(var(--rb-info-rgb),.09); }
.rb-task-intro__status.is-paused { color: var(--rb-warning); border-color: rgba(var(--rb-warning-rgb),.15); background: rgba(var(--rb-warning-rgb),.065); }
.rb-task-intro__status.is-paused i { box-shadow: 0 0 0 3px rgba(var(--rb-warning-rgb),.09); animation: none; }
@keyframes rb-task-ready-pulse { 50% { opacity: .38; transform: scale(.76); } }

/* Daily mission telemetry */
.rb-mission-console {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 26px;
    padding: 1rem;
    color: #fff;
    background:
        radial-gradient(circle at 8% 0%, rgba(var(--rb-brand-rgb),.27), transparent 34%),
        radial-gradient(circle at 96% 18%, rgba(var(--rb-accent-rgb),.20), transparent 35%),
        #151824;
    box-shadow: 0 15px 34px rgba(18,21,34,.14);
    isolation: isolate;
}
.rb-mission-console__grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .56;
    background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
    background-size: 24px 24px;
    -webkit-mask-image: linear-gradient(110deg, #000, transparent 78%);
    mask-image: linear-gradient(110deg, #000, transparent 78%);
}
.rb-mission-console__scan {
    position: absolute;
    z-index: -1;
    width: 170px;
    height: 170px;
    right: -76px;
    top: -75px;
    border: 1px solid rgba(var(--rb-accent-rgb),.17);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(var(--rb-accent-rgb),.035), 0 0 0 48px rgba(var(--rb-brand-rgb),.026);
}
.rb-mission-console__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}
.rb-mission-console__kicker {
    display: block;
    color: var(--rb-accent);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .14em;
}
.rb-mission-console__head h2 {
    margin: .12rem 0 0;
    color: #fff;
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: -.02em;
}
.rb-mission-console__node {
    border: 1px solid rgba(255,255,255,.09);
    border-radius: var(--rb-radius-pill);
    padding: .28rem .48rem;
    color: rgba(255,255,255,.42);
    background: rgba(255,255,255,.035);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .09em;
}
.rb-mission-console__body {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    align-items: center;
    gap: .9rem;
    margin-top: .92rem;
}
.rb-queue-meter {
    --rb-queue-size: 82px;
    position: relative;
    width: var(--rb-queue-size);
    height: var(--rb-queue-size);
    display: grid;
    place-items: center;
    border-radius: 50%;
}
.rb-queue-meter__ring {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: conic-gradient(var(--rb-accent) 0 var(--rb-queue-progress), rgba(255,255,255,.085) var(--rb-queue-progress) 100%);
    box-shadow: 0 0 24px rgba(var(--rb-accent-rgb),.13);
    transition: background var(--rb-normal) ease;
}
.rb-queue-meter__ring::before {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: inherit;
    background: #151824;
}
.rb-queue-meter__core {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: baseline;
    color: #fff;
}
.rb-queue-meter__core strong { font-size: 1.22rem; font-weight: 950; line-height: 1; font-variant-numeric: tabular-nums; }
.rb-queue-meter__core small { color: rgba(255,255,255,.42); font-size: .625rem; font-weight: 850; }
.rb-mission-console__telemetry { min-width: 0; }
.rb-mission-console__stats {
    display: grid;
    grid-template-columns: minmax(0,1fr) 1px minmax(0,.78fr);
    align-items: center;
    gap: .72rem;
}
.rb-mission-console__stats > span { width: 1px; height: 35px; background: rgba(255,255,255,.085); }
.rb-mission-console__stats div { min-width: 0; display: grid; gap: .05rem; }
.rb-mission-console__stats small { color: rgba(255,255,255,.38); font-size: .625rem; font-weight: 900; letter-spacing: .1em; }
.rb-mission-console__stats strong { color: #fff; font-size: 1.12rem; font-weight: 950; line-height: 1.15; font-variant-numeric: tabular-nums; }
.rb-mission-console__stats strong b { margin-left: .18rem; color: rgba(255,255,255,.32); font-size: .625rem; font-weight: 750; }
.rb-mission-console__track {
    height: 5px;
    margin-top: .62rem;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(255,255,255,.075);
}
.rb-mission-console__track span {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rb-brand), var(--rb-accent));
    box-shadow: 0 0 12px rgba(var(--rb-accent-rgb),.2);
    transition: width var(--rb-slow) var(--rb-ease-emphasis);
}
.rb-mission-console__telemetry p {
    margin: .42rem 0 0;
    color: rgba(255,255,255,.34);
    font-size: .625rem;
    font-weight: 650;
    line-height: 1.4;
}

/* Completion protocol */
.rb-task-protocol {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr) auto;
    align-items: center;
    gap: .72rem;
    border: 1px solid var(--rb-line);
    border-radius: 19px;
    padding: .72rem .76rem;
    background: rgba(255,255,255,.90);
    box-shadow: var(--rb-shadow-xs);
}
.rb-task-protocol__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--rb-success-rgb),.13);
    border-radius: 13px;
    color: var(--rb-success);
    background: rgba(var(--rb-success-rgb),.065);
}
.rb-task-protocol__copy { min-width: 0; }
.rb-task-protocol__copy > span { display: block; color: var(--rb-success); font-size: .625rem; font-weight: 950; letter-spacing: .11em; }
.rb-task-protocol__copy h2 { margin: .08rem 0 .1rem; color: var(--rb-ink); font-size: .76rem; font-weight: 900; line-height: 1.2; }
.rb-task-protocol__copy p { margin: 0; color: var(--rb-muted); font-size: .625rem; font-weight: 620; line-height: 1.45; }
.rb-task-protocol__copy strong { color: var(--rb-ink-soft); font-weight: 850; }
.rb-task-protocol__verify {
    border: 1px solid rgba(var(--rb-success-rgb),.12);
    border-radius: 8px;
    padding: .22rem .35rem;
    color: var(--rb-success);
    background: rgba(var(--rb-success-rgb),.04);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .08em;
}

/* Mission list */
.rb-queue-section { display: grid; gap: .72rem; }
.rb-queue-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .8rem;
    padding: .15rem .08rem 0;
}
.rb-queue-section__eyebrow { display: block; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .12em; }
.rb-queue-section__head h2 { margin: .12rem 0 0; color: var(--rb-ink); font-size: 1.03rem; font-weight: 930; letter-spacing: -.025em; }
.rb-queue-section__count {
    min-width: 47px;
    display: grid;
    justify-items: end;
    gap: .02rem;
}
.rb-queue-section__count strong { color: var(--rb-ink); font-size: .93rem; font-weight: 950; line-height: 1; font-variant-numeric: tabular-nums; }
.rb-queue-section__count small { color: var(--rb-muted); font-size: .625rem; font-weight: 900; letter-spacing: .1em; }
.rb-mission-list { display: grid; gap: .7rem; }

.rb-mission-card {
    position: relative;
    display: grid;
    grid-template-columns: 43px minmax(0,1fr);
    overflow: hidden;
    border: 1px solid var(--rb-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, var(--rb-brand-04), transparent 34%),
        rgba(255,255,255,.94);
    box-shadow: var(--rb-shadow-xs);
    transition: transform var(--rb-normal) var(--rb-ease), border-color var(--rb-normal) ease, box-shadow var(--rb-normal) ease, opacity var(--rb-normal) ease;
}
.rb-mission-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
    width: 76px;
    height: 76px;
    right: -42px;
    bottom: -45px;
    border: 1px solid var(--rb-brand-08);
    border-radius: 50%;
    box-shadow: 0 0 0 14px var(--rb-brand-04);
}
.rb-mission-card[data-task-state="running"] { border-color: var(--rb-brand-18); box-shadow: 0 12px 28px rgba(var(--rb-brand-rgb),.08); }
.rb-mission-card[data-task-state="claim"] { border-color: rgba(var(--rb-success-rgb),.22); box-shadow: 0 12px 28px rgba(var(--rb-success-rgb),.07); }
.rb-mission-card[data-task-state="verify"] { border-color: var(--rb-accent-20); }
.rb-mission-card[data-task-state="complete"] { border-color: rgba(var(--rb-success-rgb),.22); opacity: .78; transform: scale(.985); }
.rb-mission-card__rail {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    padding: .92rem 0;
    color: var(--rb-brand);
    background: linear-gradient(180deg, var(--rb-brand-08), rgba(var(--rb-accent-rgb),.025));
}
.rb-mission-card__rail::after {
    content: "";
    position: absolute;
    right: 0;
    top: 13px;
    bottom: 13px;
    width: 1px;
    background: linear-gradient(180deg, transparent, var(--rb-brand-12), transparent);
}
.rb-mission-card__rail span { font-size: .625rem; font-weight: 950; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.rb-mission-card__rail i { flex: 1; width: 1px; min-height: 30px; background: linear-gradient(var(--rb-brand-18), transparent); }
.rb-mission-card__rail i::after {
    content: "";
    width: 5px;
    height: 5px;
    display: block;
    margin: -1px 0 0 -2px;
    border-radius: 50%;
    background: var(--rb-brand);
    box-shadow: 0 0 0 4px var(--rb-brand-08);
}
.rb-mission-card__content { position: relative; z-index: 1; min-width: 0; padding: .78rem .78rem .82rem .72rem; }
.rb-mission-card__topline { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; }
.rb-mission-state {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    border: 1px solid var(--rb-brand-12);
    border-radius: var(--rb-radius-pill);
    padding: .2rem .43rem;
    color: var(--rb-brand);
    background: var(--rb-brand-04);
}
.rb-mission-state i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-mission-state strong { font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-mission-card[data-task-state="running"] .rb-mission-state { color: var(--rb-info); border-color: rgba(var(--rb-info-rgb),.14); background: rgba(var(--rb-info-rgb),.05); }
.rb-mission-card[data-task-state="running"] .rb-mission-state i { box-shadow: 0 0 0 3px rgba(var(--rb-info-rgb),.08); animation: rb-task-ready-pulse 1.25s ease-in-out infinite; }
.rb-mission-card[data-task-state="claim"] .rb-mission-state,
.rb-mission-card[data-task-state="complete"] .rb-mission-state { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.14); background: rgba(var(--rb-success-rgb),.05); }
.rb-mission-card[data-task-state="claim"] .rb-mission-state i,
.rb-mission-card[data-task-state="complete"] .rb-mission-state i { box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.08); }
.rb-mission-card[data-task-state="verify"] .rb-mission-state { color: var(--rb-accent); border-color: var(--rb-accent-12); background: var(--rb-accent-08); }
.rb-mission-card[data-task-state="verify"] .rb-mission-state i { box-shadow: 0 0 0 3px var(--rb-accent-08); animation: rb-task-ready-pulse .8s ease-in-out infinite; }
.rb-mission-card__reward { flex: none; display: grid; justify-items: end; gap: .02rem; }
.rb-mission-card__reward small { color: var(--rb-muted); font-size: .625rem; font-weight: 900; letter-spacing: .1em; }
.rb-mission-card__reward strong { color: var(--rb-ink); font-size: .86rem; font-weight: 950; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rb-mission-card__heading { margin-top: .62rem; min-width: 0; }
.rb-mission-card__heading > span { display: block; color: var(--rb-faint); font-size: .625rem; font-weight: 900; letter-spacing: .11em; }
.rb-mission-card__heading h3 { margin: .14rem 0 0; color: var(--rb-ink); font-size: .87rem; font-weight: 900; line-height: 1.32; overflow-wrap: anywhere; }
.rb-mission-card__meta { display: flex; flex-wrap: wrap; gap: .42rem; margin-top: .62rem; }
.rb-mission-card__meta > span {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: .33rem;
    border: 1px solid var(--rb-line);
    border-radius: 9px;
    padding: .25rem .4rem;
    color: var(--rb-muted);
    background: var(--rb-surface-soft);
    font-size: .625rem;
    font-weight: 700;
}
.rb-mission-card__meta i { display: grid; place-items: center; color: var(--rb-brand); }
.rb-mission-card__meta b { color: var(--rb-ink-soft); font-weight: 900; }

/* Active task telemetry */
.rb-task-runtime {
    display: grid;
    gap: .39rem;
    margin-top: .68rem;
    border: 1px solid var(--rb-line);
    border-radius: 13px;
    padding: .6rem .62rem;
    background: linear-gradient(110deg, var(--rb-surface-soft), var(--rb-brand-04));
}
.rb-task-runtime[hidden] { display: none !important; }
.rb-task-runtime__head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.rb-task-runtime__head span { min-width: 0; color: var(--rb-ink-soft); font-size: .625rem; font-weight: 750; line-height: 1.3; }
.rb-task-runtime__head strong { flex: none; color: var(--rb-brand); font-size: .625rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.rb-task-runtime__track { height: 5px; overflow: hidden; border-radius: 99px; background: var(--rb-line); }
.rb-task-runtime__track span {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: var(--rb-core-gradient);
    box-shadow: 0 0 9px var(--rb-brand-12);
    transition: width .22s linear;
}
.rb-task-runtime__telemetry { display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: var(--rb-muted); font-size: .625rem; font-weight: 850; letter-spacing: .06em; }
.rb-task-runtime__telemetry > span:first-child { display: inline-flex; align-items: center; gap: .3rem; }
.rb-task-runtime__telemetry i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-task-runtime__telemetry b { color: var(--rb-brand); font-size: inherit; font-weight: 950; }
.rb-task-runtime__telemetry > span:last-child { color: var(--rb-ink-soft); font-variant-numeric: tabular-nums; }

.rb-mission-action {
    width: 100%;
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    margin-top: .68rem;
    border: 0;
    border-radius: 14px;
    padding: .57rem .62rem .57rem .74rem;
    color: var(--rb-on-primary, #fff);
    background: var(--rb-core-gradient);
    box-shadow: 0 9px 20px var(--rb-brand-18);
    cursor: pointer;
    text-align: left;
    transition: transform var(--rb-fast) var(--rb-ease), box-shadow var(--rb-fast) ease, opacity var(--rb-fast) ease, filter var(--rb-fast) ease;
}
.rb-mission-action:active { transform: scale(.987); }
.rb-mission-action:hover { box-shadow: 0 11px 25px var(--rb-brand-28); filter: brightness(1.025); }
.rb-mission-action:disabled { cursor: wait; opacity: .64; box-shadow: none; }
.rb-mission-action__copy { min-width: 0; display: grid; gap: .02rem; }
.rb-mission-action__copy small { color: rgba(255,255,255,.58); font-size: .625rem; font-weight: 900; letter-spacing: .1em; }
.rb-mission-action__copy strong { overflow: hidden; color: inherit; font-size: .69rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.rb-mission-action__icon {
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 11px;
    background: rgba(255,255,255,.09);
}
.rb-mission-action__icon.is-pulsing { animation: rb-task-action-pulse .72s ease-in-out infinite alternate; }
@keyframes rb-task-action-pulse { to { opacity: .48; transform: scale(.9); } }
.rb-mission-card[data-task-state="claim"] .rb-mission-action {
    background: var(--rb-success);
    box-shadow: 0 9px 20px rgba(var(--rb-success-rgb),.16);
}
.rb-mission-card[data-task-state="verify"] .rb-mission-action { background: var(--rb-surface-inverse); }
.rb-mission-card[data-task-state="complete"] .rb-mission-action { background: var(--rb-success); }

/* Empty queue */
.rb-mission-empty {
    min-height: 235px;
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed var(--rb-line-strong);
    border-radius: 22px;
    padding: 1.4rem 1rem;
    background: rgba(255,255,255,.72);
}
.rb-mission-empty__core {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-12);
    border-radius: 20px;
    color: var(--rb-brand);
    background: linear-gradient(135deg, var(--rb-brand-08), var(--rb-accent-08));
    box-shadow: 0 10px 24px var(--rb-brand-08);
}
.rb-mission-empty__code { margin-top: .72rem; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .12em; }
.rb-mission-empty h2 { margin: .18rem 0 0; color: var(--rb-ink); font-size: .95rem; font-weight: 920; }
.rb-mission-empty p { max-width: 355px; margin: .32rem 0 0; color: var(--rb-muted); font-size: .64rem; font-weight: 620; line-height: 1.5; }

@media (max-width: 390px) {
    .rb-task-console { gap: .82rem; }
    .rb-task-intro p { font-size: .68rem; }
    .rb-task-intro__status { font-size: .625rem; padding-inline: .46rem; }
    .rb-mission-console { padding: .88rem; border-radius: 23px; }
    .rb-mission-console__body { grid-template-columns: 75px minmax(0,1fr); gap: .72rem; }
    .rb-queue-meter { --rb-queue-size: 72px; }
    .rb-mission-console__stats { gap: .55rem; }
    .rb-task-protocol { grid-template-columns: 38px minmax(0,1fr); gap: .6rem; }
    .rb-task-protocol__icon { width: 38px; height: 38px; }
    .rb-task-protocol__verify { display: none; }
    .rb-mission-card { grid-template-columns: 39px minmax(0,1fr); border-radius: 20px; }
    .rb-mission-card__content { padding-left: .64rem; padding-right: .68rem; }
}
@media (max-width: 340px) {
    .rb-task-intro__status { display: none; }
    .rb-mission-console__node { display: none; }
    .rb-mission-console__body { grid-template-columns: 67px minmax(0,1fr); gap: .58rem; }
    .rb-queue-meter { --rb-queue-size: 64px; }
    .rb-mission-console__stats strong { font-size: .96rem; }
    .rb-mission-card__meta { gap: .3rem; }
    .rb-mission-card__meta > span { padding-inline: .32rem; font-size: .625rem; }
}
@media (min-width: 520px) {
    .rb-mission-console { padding: 1.15rem; }
    .rb-mission-card__content { padding: .9rem .95rem .95rem .82rem; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-task-intro__status i,
    .rb-mission-card[data-task-state="running"] .rb-mission-state i,
    .rb-mission-card[data-task-state="verify"] .rb-mission-state i,
    .rb-mission-action__icon.is-pulsing { animation: none !important; }
    .rb-mission-card,
    .rb-mission-action,
    .rb-task-runtime__track span,
    .rb-mission-console__track span { transition-duration: .01ms !important; }
}

/* ============================================================
   Phase 5 — RoboRank / Leaderboard + Squad Network / Refer
   ============================================================ */
.rb-screen-enter { animation: rb-screen-enter var(--rb-normal) var(--rb-ease-emphasis) both; }
@keyframes rb-screen-enter {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ---------- RoboRank ---------- */
.rb-rank-screen,
.rb-network-screen { display: grid; gap: .9rem; }

.rb-rank-intro,
.rb-network-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .9rem;
}
.rb-rank-intro__copy,
.rb-network-intro__copy { min-width: 0; }
.rb-rank-eyebrow,
.rb-network-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    margin: 0 0 .32rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .12em;
}
.rb-rank-eyebrow > span,
.rb-network-eyebrow > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-brand);
    box-shadow: 0 0 0 4px var(--rb-brand-08);
}
.rb-rank-intro h1,
.rb-network-intro h1 {
    margin: 0;
    color: var(--rb-ink);
    font-size: clamp(1.55rem, 7vw, 2rem);
    font-weight: 950;
    line-height: 1.06;
    letter-spacing: -.045em;
}
.rb-rank-intro__copy > p:last-child,
.rb-network-intro__copy > p:last-child {
    max-width: 430px;
    margin: .45rem 0 0;
    color: var(--rb-muted);
    font-size: .66rem;
    font-weight: 630;
    line-height: 1.55;
}
.rb-rank-intro__signal {
    flex: 0 0 auto;
    min-width: 72px;
    display: grid;
    justify-items: center;
    gap: .3rem;
    border: 1px solid var(--rb-line);
    border-radius: 18px;
    padding: .54rem .48rem .48rem;
    background: rgba(255,255,255,.82);
    box-shadow: var(--rb-shadow-xs);
}
.rb-rank-intro__signal > span:last-child { display: grid; justify-items: center; line-height: 1; }
.rb-rank-intro__signal strong { color: var(--rb-ink); font-size: .84rem; font-weight: 950; }
.rb-rank-intro__signal small { margin-top: .13rem; color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .11em; }
.rb-rank-intro__signal-ring {
    position: relative;
    width: 33px;
    height: 33px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-12);
    border-radius: 50%;
    background: var(--rb-brand-04);
}
.rb-rank-intro__signal-ring::before,
.rb-rank-intro__signal-ring::after {
    content: "";
    position: absolute;
    border: 1px solid var(--rb-brand-12);
    border-radius: 50%;
}
.rb-rank-intro__signal-ring::before { inset: 5px; }
.rb-rank-intro__signal-ring::after { inset: 10px; }
.rb-rank-intro__signal-ring i { width: 6px; height: 6px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-rank-intro__signal-ring b { position: absolute; width: 1px; height: 13px; top: 3px; left: 50%; transform-origin: 50% 13px; transform: rotate(52deg); background: var(--rb-brand); opacity: .55; animation: rb-radar-sweep 4s linear infinite; }
@keyframes rb-radar-sweep { to { transform: rotate(412deg); } }

.rb-prime-node {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rb-brand-12);
    border-radius: 26px;
    padding: .95rem;
    background:
        radial-gradient(circle at 8% 8%, var(--rb-brand-18), transparent 34%),
        radial-gradient(circle at 96% 100%, var(--rb-accent-12), transparent 34%),
        var(--rb-surface-inverse);
    box-shadow: 0 16px 38px rgba(20,23,39,.16);
    color: #fff;
}
.rb-prime-node__grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .23;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(135deg,#000,transparent 72%);
}
.rb-prime-node::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -84px;
    top: -95px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.025), 0 0 0 60px rgba(255,255,255,.018);
}
.rb-prime-node.is-current-user { box-shadow: 0 16px 38px rgba(20,23,39,.16), 0 0 0 1px var(--rb-brand-18) inset; }
.rb-prime-node__head,
.rb-prime-node__body,
.rb-prime-node__footer { position: relative; z-index: 1; }
.rb-prime-node__head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.rb-prime-node__tag {
    display: inline-flex;
    align-items: center;
    gap: .36rem;
    color: rgba(255,255,255,.72);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .12em;
}
.rb-prime-node__tag i { width: 6px; height: 6px; border-radius: 50%; background: var(--rb-accent); box-shadow: 0 0 0 4px rgba(var(--rb-accent-rgb),.13), 0 0 13px var(--rb-accent); }
.rb-prime-node__rank { color: rgba(255,255,255,.4); font-size: .625rem; font-weight: 950; letter-spacing: .13em; }
.rb-prime-node__body { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; align-items: center; gap: .72rem; margin-top: .85rem; }
.rb-prime-node__avatar {
    position: relative;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(var(--rb-brand-rgb),.35), rgba(var(--rb-accent-rgb),.24));
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.rb-prime-node__avatar::before {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;
}
.rb-prime-node__avatar-core { color: #fff; font-size: 1.1rem; font-weight: 950; }
.rb-prime-node__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.rb-prime-node__avatar i { position: absolute; right: -3px; bottom: -3px; width: 14px; height: 14px; border: 3px solid var(--rb-surface-inverse); border-radius: 50%; background: var(--rb-success); }
.rb-prime-node__identity { min-width: 0; }
.rb-prime-node__identity small { display: block; color: rgba(255,255,255,.43); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-prime-node__identity h2 { margin: .14rem 0 0; overflow: hidden; color: #fff; font-size: .88rem; font-weight: 920; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.rb-prime-node__identity p { margin: .12rem 0 0; color: rgba(255,255,255,.55); font-size: .625rem; font-weight: 650; }
.rb-prime-node__score { min-width: 54px; display: grid; justify-items: end; line-height: 1; }
.rb-prime-node__score small { color: rgba(255,255,255,.4); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-prime-node__score strong { margin-top: .13rem; color: #fff; font-size: 1.45rem; font-weight: 950; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.rb-prime-node__score span { margin-top: .12rem; color: rgba(255,255,255,.45); font-size: .625rem; font-weight: 750; }
.rb-prime-node__footer { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .82rem; border-top: 1px solid rgba(255,255,255,.08); padding-top: .55rem; color: rgba(255,255,255,.36); font-size: .625rem; font-weight: 900; letter-spacing: .08em; }
.rb-prime-node__footer span:first-child { display: inline-flex; align-items: center; gap: .3rem; }
.rb-prime-node__footer i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-accent); }

.rb-rank-board {
    border: 1px solid var(--rb-line);
    border-radius: 24px;
    padding: .88rem;
    background: rgba(255,255,255,.9);
    box-shadow: var(--rb-shadow-xs);
}
.rb-rank-board__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .65rem; }
.rb-rank-board__head .rb-kicker { font-size: .625rem; margin-bottom: .15rem; }
.rb-rank-board__head .rb-title { font-size: .86rem; }
.rb-rank-board__count {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    border: 1px solid var(--rb-line);
    border-radius: 99px;
    padding: .26rem .45rem;
    color: var(--rb-muted);
    background: var(--rb-surface-soft);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .08em;
}
.rb-rank-board__count i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-success); box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.08); }
.rb-rank-list { display: grid; gap: .42rem; }
.rb-rank-row {
    position: relative;
    display: grid;
    grid-template-columns: 36px 38px minmax(0,1fr) auto;
    align-items: center;
    gap: .55rem;
    min-height: 62px;
    border: 1px solid var(--rb-line);
    border-radius: 16px;
    padding: .5rem .56rem;
    background: var(--rb-surface);
    transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease;
}
.rb-rank-row:hover { transform: translateY(-1px); border-color: var(--rb-brand-12); box-shadow: var(--rb-shadow-xs); }
.rb-rank-row.is-current-user { border-color: var(--rb-brand-18); background: linear-gradient(100deg, var(--rb-brand-04), var(--rb-surface) 48%); }
.rb-rank-row.is-current-user::before { content: ""; position: absolute; left: -1px; top: 15px; bottom: 15px; width: 3px; border-radius: 0 4px 4px 0; background: var(--rb-core-gradient); }
.rb-rank-row__index { display: grid; justify-items: center; line-height: 1; }
.rb-rank-row__index small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-rank-row__index strong { margin-top: .12rem; color: var(--rb-brand); font-size: .69rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.rb-rank-row__avatar { position: relative; width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--rb-brand-12); border-radius: 12px; color: var(--rb-brand); background: linear-gradient(135deg,var(--rb-brand-08),var(--rb-accent-08)); font-size: .72rem; font-weight: 950; }
.rb-rank-row__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rb-rank-row__main { min-width: 0; display: grid; gap: .35rem; }
.rb-rank-row__identity { min-width: 0; display: grid; }
.rb-rank-row__identity strong { overflow: hidden; color: var(--rb-ink); font-size: .63rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.rb-rank-row__identity small { margin-top: .04rem; overflow: hidden; color: var(--rb-faint); font-size: .625rem; font-weight: 900; letter-spacing: .065em; text-overflow: ellipsis; white-space: nowrap; }
.rb-rank-row__signal { height: 3px; overflow: hidden; border-radius: 99px; background: var(--rb-line); }
.rb-rank-row__signal i { height: 100%; display: block; border-radius: inherit; background: var(--rb-core-gradient); opacity: .7; }
.rb-rank-row__score { min-width: 40px; display: grid; justify-items: end; line-height: 1; }
.rb-rank-row__score strong { color: var(--rb-ink); font-size: .72rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.rb-rank-row__score small { margin-top: .13rem; color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-rank-board__solo { min-height: 85px; display: flex; align-items: center; gap: .8rem; border: 1px dashed var(--rb-line-strong); border-radius: 16px; padding: .75rem; background: var(--rb-surface-soft); }
.rb-rank-board__solo span { width: 37px; height: 37px; flex: 0 0 37px; display: grid; place-items: center; border: 1px solid var(--rb-line); border-radius: 12px; color: var(--rb-faint); font-size: .625rem; font-weight: 950; }
.rb-rank-board__solo p { margin: 0; color: var(--rb-muted); font-size: .625rem; font-weight: 650; line-height: 1.5; }

.rb-rank-self {
    display: grid;
    grid-template-columns: 39px auto 1px auto 1fr;
    align-items: center;
    gap: .6rem;
    border: 1px solid var(--rb-brand-12);
    border-radius: 18px;
    padding: .64rem .68rem;
    background: linear-gradient(100deg, var(--rb-brand-08), rgba(255,255,255,.88) 44%, var(--rb-accent-08));
}
.rb-rank-self__icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: var(--rb-brand); background: var(--rb-surface); box-shadow: var(--rb-shadow-xs); }
.rb-rank-self__copy { display: grid; min-width: 0; line-height: 1; }
.rb-rank-self__copy small { color: var(--rb-muted); font-size: .625rem; font-weight: 950; letter-spacing: .075em; white-space: nowrap; }
.rb-rank-self__copy strong { margin-top: .15rem; color: var(--rb-ink); font-size: .77rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.rb-rank-self__divider { width: 1px; height: 28px; background: var(--rb-line); }
.rb-rank-self__status { justify-self: end; display: inline-flex; align-items: center; gap: .3rem; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .07em; }
.rb-rank-self__status i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 3px var(--rb-brand-08); }

.rb-rank-empty {
    min-height: 360px;
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed var(--rb-line-strong);
    border-radius: 26px;
    padding: 1.5rem 1rem;
    background: rgba(255,255,255,.82);
}
.rb-rank-empty__radar { position: relative; width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: .9rem; border: 1px solid var(--rb-brand-12); border-radius: 50%; background: var(--rb-brand-04); }
.rb-rank-empty__radar::before,.rb-rank-empty__radar::after { content:""; position:absolute; border:1px solid var(--rb-brand-12); border-radius:50%; }
.rb-rank-empty__radar::before { inset: 12px; }
.rb-rank-empty__radar::after { inset: 25px; }
.rb-rank-empty__radar i { width: 7px; height: 7px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 5px var(--rb-brand-08); }
.rb-rank-empty__radar b { position:absolute; width:1px; height:31px; top:8px; left:50%; transform-origin:50% 31px; background:var(--rb-brand); opacity:.45; animation:rb-radar-empty 4s linear infinite; }
.rb-rank-empty__radar em { position:absolute; width:5px; height:5px; right:15px; top:18px; border-radius:50%; background:var(--rb-accent); box-shadow:0 0 8px var(--rb-accent); }
@keyframes rb-radar-empty { to { transform: rotate(360deg); } }
.rb-rank-empty .rb-kicker { margin-bottom: .25rem; }
.rb-rank-empty h2 { margin: 0; color: var(--rb-ink); font-size: .96rem; font-weight: 920; }
.rb-rank-empty > p:last-of-type { max-width: 360px; margin: .38rem 0 .9rem; color: var(--rb-muted); font-size: .625rem; line-height: 1.55; }

/* ---------- Squad Network ---------- */
.rb-network-intro__icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-12);
    border-radius: 17px;
    color: var(--rb-brand);
    background: linear-gradient(135deg,var(--rb-brand-08),var(--rb-accent-08));
    box-shadow: 0 8px 20px var(--rb-brand-08);
}
.rb-network-core {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rb-brand-12);
    border-radius: 26px;
    padding: .9rem;
    background:
        radial-gradient(circle at 12% 0%,var(--rb-brand-12),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,249,252,.96));
    box-shadow: var(--rb-shadow-sm);
}
.rb-network-core__grid { position:absolute; inset:0; pointer-events:none; opacity:.55; background-image:linear-gradient(var(--rb-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--rb-grid-line) 1px,transparent 1px); background-size:22px 22px; mask-image:linear-gradient(135deg,#000,transparent 68%); }
.rb-network-core__head,.rb-network-core__body { position:relative; z-index:1; }
.rb-network-core__head { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.rb-network-core__status { display:inline-flex; align-items:center; gap:.34rem; color:var(--rb-brand); font-size: .625rem; font-weight:950; letter-spacing:.1em; }
.rb-network-core__status i { width:5px; height:5px; border-radius:50%; background:var(--rb-success); box-shadow:0 0 0 3px rgba(var(--rb-success-rgb),.08); }
.rb-network-core__head h2 { margin:.13rem 0 0; color:var(--rb-ink); font-size:.83rem; font-weight:900; }
.rb-network-core__bonus { min-width:72px; display:grid; justify-items:end; line-height:1; }
.rb-network-core__bonus small { color:var(--rb-faint); font-size: .625rem; font-weight:950; letter-spacing:.09em; }
.rb-network-core__bonus strong { max-width:120px; margin-top:.18rem; overflow:hidden; color:var(--rb-ink); font-size: .625rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.rb-network-core__body { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:.85rem; margin-top:.85rem; }
.rb-network-meter {
    --rb-network-size: 94px;
    position:relative;
    width:var(--rb-network-size);
    height:var(--rb-network-size);
    display:grid;
    place-items:center;
    border-radius:50%;
    background:conic-gradient(var(--rb-brand) var(--rb-network-progress),var(--rb-line) 0);
    box-shadow:0 8px 20px var(--rb-brand-08);
}
.rb-network-meter::before { content:""; position:absolute; inset:6px; border-radius:50%; background:var(--rb-surface); box-shadow:inset 0 0 0 1px var(--rb-line); }
.rb-network-meter__orbit { position:absolute; inset:-5px; border:1px dashed var(--rb-brand-12); border-radius:50%; animation:rb-network-orbit 14s linear infinite; }
.rb-network-meter__orbit i,.rb-network-meter__orbit b { position:absolute; width:6px; height:6px; border-radius:50%; background:var(--rb-brand); box-shadow:0 0 0 3px var(--rb-brand-08); }
.rb-network-meter__orbit i { top:-3px; left:50%; }
.rb-network-meter__orbit b { bottom:7px; right:3px; background:var(--rb-accent); box-shadow:0 0 0 3px var(--rb-accent-08); }
@keyframes rb-network-orbit { to { transform:rotate(360deg); } }
.rb-network-meter__value { position:relative; z-index:1; display:grid; justify-items:center; line-height:1; }
.rb-network-meter__value strong { color:var(--rb-ink); font-size:1.15rem; font-weight:950; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.rb-network-meter__value small { margin-top:.17rem; color:var(--rb-muted); font-size: .625rem; font-weight:950; letter-spacing:.08em; }
.rb-network-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.38rem; }
.rb-network-stat { min-width:0; border:1px solid var(--rb-line); border-radius:14px; padding:.5rem .46rem; background:rgba(255,255,255,.78); }
.rb-network-stat > span { display:flex; align-items:center; gap:.26rem; overflow:hidden; color:var(--rb-muted); font-size: .625rem; font-weight:950; letter-spacing:.055em; text-overflow:ellipsis; white-space:nowrap; }
.rb-network-stat > span i { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--rb-brand); }
.rb-network-stat.is-active > span i { background:var(--rb-success); }
.rb-network-stat.is-pending > span i { background:var(--rb-warning); }
.rb-network-stat strong { display:block; margin-top:.24rem; color:var(--rb-ink); font-size:.9rem; font-weight:950; line-height:1; font-variant-numeric:tabular-nums; }
.rb-network-stat > small { display:block; margin-top:.18rem; overflow:hidden; color:var(--rb-faint); font-size: .625rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }

.rb-connection-key,
.rb-activation-protocol {
    border:1px solid var(--rb-line);
    border-radius:24px;
    padding:.86rem;
    background:rgba(255,255,255,.91);
    box-shadow:var(--rb-shadow-xs);
}
.rb-connection-key__head { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:.58rem; }
.rb-connection-key__icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:var(--rb-brand); background:var(--rb-brand-08); }
.rb-connection-key__head .rb-kicker { margin-bottom:.12rem; font-size: .625rem; }
.rb-connection-key__head .rb-title { font-size:.78rem; }
.rb-connection-key__live { display:inline-flex; align-items:center; gap:.28rem; color:var(--rb-success); font-size: .625rem; font-weight:950; letter-spacing:.08em; }
.rb-connection-key__live i { width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px rgba(var(--rb-success-rgb),.08); }
.rb-connection-key__display {
    min-height:54px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:.52rem;
    margin-top:.72rem;
    border:1px solid var(--rb-brand-12);
    border-radius:14px;
    padding:.52rem .58rem;
    background:linear-gradient(100deg,var(--rb-brand-04),var(--rb-surface-soft));
}
.rb-connection-key__display.is-unavailable { border-color:rgba(var(--rb-warning-rgb),.18); background:rgba(var(--rb-warning-rgb),.04); }
.rb-connection-key__prefix { min-width:33px; display:grid; place-items:center; border-radius:8px; padding:.25rem .28rem; color:var(--rb-on-primary,#fff); background:var(--rb-brand); font-size: .625rem; font-weight:950; letter-spacing:.07em; }
.rb-connection-key__display.is-unavailable .rb-connection-key__prefix { color:var(--rb-warning); background:rgba(var(--rb-warning-rgb),.1); }
.rb-connection-key__display code { min-width:0; overflow:hidden; color:var(--rb-ink-soft); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: .625rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.rb-connection-actions { display:grid; grid-template-columns:1.18fr .82fr; gap:.5rem; margin-top:.58rem; }
.rb-connection-action {
    min-width:0;
    min-height:52px;
    display:flex;
    align-items:center;
    gap:.5rem;
    border:1px solid var(--rb-line);
    border-radius:14px;
    padding:.48rem .55rem;
    color:var(--rb-ink-soft);
    background:var(--rb-surface);
    box-shadow:none;
    cursor:pointer;
    text-align:left;
    transition:transform var(--rb-fast) var(--rb-ease),border-color var(--rb-fast) ease,background var(--rb-fast) ease,opacity var(--rb-fast) ease;
}
.rb-connection-action:active { transform:scale(.985); }
.rb-connection-action:disabled { opacity:.42; cursor:not-allowed; }
.rb-connection-action--primary { color:var(--rb-on-primary,#fff); border-color:transparent; background:var(--rb-core-gradient); box-shadow:0 9px 20px var(--rb-brand-18); }
.rb-connection-action.is-confirmed { filter:brightness(1.05); transform:scale(.985); }
.rb-connection-action__icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:10px; color:var(--rb-brand); background:var(--rb-brand-08); }
.rb-connection-action--primary .rb-connection-action__icon { color:inherit; background:rgba(255,255,255,.12); }
.rb-connection-action > span:last-child { min-width:0; display:grid; }
.rb-connection-action small { color:var(--rb-faint); font-size: .625rem; font-weight:950; letter-spacing:.08em; }
.rb-connection-action--primary small { color:rgba(255,255,255,.56); }
.rb-connection-action strong { overflow:hidden; margin-top:.03rem; color:inherit; font-size: .625rem; font-weight:880; text-overflow:ellipsis; white-space:nowrap; }

.rb-activation-protocol__head { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; }
.rb-activation-protocol__head .rb-kicker { margin-bottom:.13rem; font-size: .625rem; }
.rb-activation-protocol__head .rb-title { font-size:.79rem; }
.rb-activation-protocol__pending { flex:none; display:inline-flex; align-items:center; gap:.28rem; border:1px solid rgba(var(--rb-warning-rgb),.15); border-radius:99px; padding:.26rem .4rem; color:var(--rb-warning); background:rgba(var(--rb-warning-rgb),.05); font-size: .625rem; font-weight:950; letter-spacing:.06em; }
.rb-activation-protocol__pending i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.rb-protocol-list { display:grid; gap:0; margin:.7rem 0 0; padding:0; list-style:none; }
.rb-protocol-step { display:grid; grid-template-columns:32px 38px minmax(0,1fr) auto; align-items:center; gap:.5rem; min-height:72px; margin:0; padding:.34rem 0; }
.rb-protocol-step__node { position:relative; align-self:stretch; display:grid; justify-items:center; align-content:start; padding-top:.56rem; }
.rb-protocol-step__node b { position:relative; z-index:1; width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--rb-brand-12); border-radius:9px; color:var(--rb-brand); background:var(--rb-surface); font-size: .625rem; font-weight:950; }
.rb-protocol-step__node i { position:absolute; top:31px; bottom:-15px; width:1px; background:linear-gradient(var(--rb-brand-18),var(--rb-line)); }
.rb-protocol-step:last-child .rb-protocol-step__node i { display:none; }
.rb-protocol-step__icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--rb-line); border-radius:12px; color:var(--rb-brand); background:var(--rb-surface-soft); }
.rb-protocol-step__copy { min-width:0; }
.rb-protocol-step__copy small { display:block; color:var(--rb-faint); font-size: .625rem; font-weight:950; letter-spacing:.09em; }
.rb-protocol-step__copy strong { display:block; margin-top:.08rem; color:var(--rb-ink); font-size: .625rem; font-weight:850; line-height:1.35; }
.rb-protocol-step__copy p { margin:.12rem 0 0; color:var(--rb-muted); font-size: .625rem; font-weight:600; line-height:1.45; }
.rb-protocol-step__state { align-self:center; border:1px solid var(--rb-brand-12); border-radius:99px; padding:.22rem .36rem; color:var(--rb-brand); background:var(--rb-brand-04); font-size: .625rem; font-weight:950; letter-spacing:.06em; }
.rb-protocol-step__state.is-success { color:var(--rb-success); border-color:rgba(var(--rb-success-rgb),.14); background:rgba(var(--rb-success-rgb),.05); }
.rb-protocol-step__state.is-muted { color:var(--rb-faint); border-color:var(--rb-line); background:var(--rb-surface-soft); }

.rb-network-note { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:.6rem; border:1px solid var(--rb-brand-12); border-radius:17px; padding:.62rem .68rem; background:linear-gradient(100deg,var(--rb-brand-04),rgba(255,255,255,.8)); }
.rb-network-note__icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:var(--rb-brand); background:var(--rb-brand-08); }
.rb-network-note > span:last-child { min-width:0; }
.rb-network-note strong { display:block; color:var(--rb-brand); font-size: .625rem; font-weight:950; letter-spacing:.09em; }
.rb-network-note p { margin:.14rem 0 0; color:var(--rb-muted); font-size: .625rem; font-weight:620; line-height:1.5; }

@media (max-width: 390px) {
    .rb-rank-screen,.rb-network-screen { gap:.8rem; }
    .rb-rank-intro__copy > p:last-child,.rb-network-intro__copy > p:last-child { font-size: .625rem; }
    .rb-prime-node { padding:.82rem; border-radius:23px; }
    .rb-prime-node__body { grid-template-columns:52px minmax(0,1fr) auto; gap:.58rem; }
    .rb-prime-node__avatar { width:50px; height:50px; border-radius:16px; }
    .rb-prime-node__identity h2 { font-size:.8rem; }
    .rb-prime-node__score strong { font-size:1.22rem; }
    .rb-rank-board { padding:.76rem; border-radius:21px; }
    .rb-rank-row { grid-template-columns:31px 35px minmax(0,1fr) auto; gap:.43rem; padding-inline:.46rem; }
    .rb-rank-row__avatar { width:35px; height:35px; }
    .rb-rank-self { grid-template-columns:36px auto 1px auto 1fr; gap:.48rem; padding-inline:.56rem; }
    .rb-rank-self__icon { width:36px; height:36px; }
    .rb-network-core { padding:.78rem; border-radius:23px; }
    .rb-network-core__body { grid-template-columns:84px minmax(0,1fr); gap:.65rem; }
    .rb-network-meter { --rb-network-size:82px; }
    .rb-network-stats { gap:.3rem; }
    .rb-network-stat { padding:.45rem .36rem; }
    .rb-network-stat > small { display:none; }
    .rb-connection-key,.rb-activation-protocol { padding:.75rem; border-radius:21px; }
    .rb-protocol-step { grid-template-columns:29px 35px minmax(0,1fr) auto; gap:.42rem; }
    .rb-protocol-step__icon { width:35px; height:35px; }
    .rb-protocol-step__copy p { font-size: .625rem; }
}
@media (max-width: 345px) {
    .rb-rank-intro__signal { display:none; }
    .rb-network-intro__icon { width:46px; height:46px; flex-basis:46px; }
    .rb-prime-node__footer span:last-child { display:none; }
    .rb-rank-row { grid-template-columns:28px 33px minmax(0,1fr) auto; gap:.36rem; }
    .rb-rank-row__avatar { width:33px; height:33px; }
    .rb-rank-row__identity small { display:none; }
    .rb-rank-self__status { display:none; }
    .rb-rank-self { grid-template-columns:34px auto 1px auto; }
    .rb-network-core__body { grid-template-columns:1fr; justify-items:center; }
    .rb-network-stats { width:100%; }
    .rb-connection-actions { grid-template-columns:1fr; }
    .rb-protocol-step { grid-template-columns:28px 34px minmax(0,1fr); }
    .rb-protocol-step__state { display:none; }
}
@media (min-width: 520px) {
    .rb-prime-node,.rb-network-core { padding:1.05rem; }
    .rb-rank-board,.rb-connection-key,.rb-activation-protocol { padding:1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-screen-enter,
    .rb-rank-intro__signal-ring b,
    .rb-rank-empty__radar b,
    .rb-network-meter__orbit { animation:none !important; }
    .rb-rank-row,
    .rb-connection-action { transition-duration:.01ms !important; }
}


/* ============================================================
   Phase 6 — Transfer Terminal / Withdraw
   ============================================================ */
.rb-transfer-screen {
    display: grid;
    gap: .9rem;
    padding-top: .38rem;
    padding-bottom: 1.1rem;
}
.rb-transfer-hero {
    min-height: 142px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem .15rem .25rem;
}
.rb-transfer-hero__copy { min-width: 0; }
.rb-transfer-eyebrow {
    display: flex;
    align-items: center;
    gap: .42rem;
    margin: 0 0 .42rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .13em;
}
.rb-transfer-eyebrow > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-brand);
    box-shadow: 0 0 0 4px var(--rb-brand-08), 0 0 14px var(--rb-brand-28);
}
.rb-transfer-hero h1 {
    margin: 0;
    color: var(--rb-ink);
    font-size: clamp(1.55rem, 8vw, 2rem);
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -.055em;
}
.rb-transfer-hero__copy > p:last-child {
    max-width: 390px;
    margin: .52rem 0 0;
    color: var(--rb-muted);
    font-size: .64rem;
    font-weight: 620;
    line-height: 1.62;
}
.rb-transfer-hero__state {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-top: .2rem;
    border: 1px solid rgba(var(--rb-warning-rgb),.16);
    border-radius: 14px;
    padding: .5rem .58rem;
    color: var(--rb-warning);
    background: rgba(var(--rb-warning-rgb),.07);
}
.rb-transfer-hero__state.is-ready {
    color: var(--rb-success);
    border-color: rgba(var(--rb-success-rgb),.16);
    background: rgba(var(--rb-success-rgb),.07);
}
.rb-transfer-hero__state.is-ready > i { box-shadow: 0 0 0 4px rgba(var(--rb-success-rgb),.10); }
.rb-transfer-hero__state > i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px rgba(var(--rb-warning-rgb),.10);
}
.rb-transfer-hero__state > span { display: grid; line-height: 1; }
.rb-transfer-hero__state small { font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-transfer-hero__state strong { margin-top: .18rem; font-size: .625rem; font-weight: 950; letter-spacing: .075em; }

.rb-wallet-core {
    position: relative;
    overflow: hidden;
    min-height: 188px;
    border: 1px solid transparent;
    border-radius: 26px;
    padding: .9rem;
    color: var(--rb-on-primary, #fff);
    background: var(--rb-core-gradient);
    box-shadow: var(--rb-shadow-brand);
    isolation: isolate;
}
.rb-wallet-core::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -92px;
    top: -108px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.045), 0 0 0 62px rgba(255,255,255,.025);
    pointer-events: none;
}
.rb-wallet-core__mesh {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .22;
    background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(110deg, #000, transparent 70%);
}
.rb-wallet-core__head,
.rb-wallet-core__body,
.rb-wallet-core__footer { position: relative; z-index: 1; }
.rb-wallet-core__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.rb-wallet-core__label { display: flex; align-items: center; gap: .38rem; font-size: .625rem; font-weight: 950; letter-spacing: .12em; opacity: .82; }
.rb-wallet-core__label i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(255,255,255,.10); }
.rb-wallet-core__method-count { border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: .27rem .48rem; background: rgba(255,255,255,.08); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-wallet-core__body { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.1rem; }
.rb-wallet-core__body p { margin: 0; font-size: .625rem; font-weight: 720; opacity: .75; }
.rb-wallet-core__body strong { display: block; margin-top: .15rem; font-size: clamp(1.85rem, 10vw, 2.45rem); font-weight: 950; line-height: 1; letter-spacing: -.055em; }
.rb-wallet-core__icon { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.11); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.rb-wallet-core__footer { display: grid; grid-template-columns: repeat(3,1fr); gap: .42rem; margin-top: 1.15rem; }
.rb-wallet-core__footer > span { min-width: 0; display: grid; gap: .1rem; border-top: 1px solid rgba(255,255,255,.14); padding-top: .5rem; }
.rb-wallet-core__footer small { font-size: .625rem; font-weight: 950; letter-spacing: .1em; opacity: .62; }
.rb-wallet-core__footer strong { overflow: hidden; font-size: .625rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }

.rb-readiness {
    border: 1px solid var(--rb-line);
    border-radius: 23px;
    padding: .82rem;
    background: rgba(255,255,255,.89);
    box-shadow: var(--rb-shadow-xs);
}
.rb-transfer-section-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .68rem; }
.rb-transfer-section-head .rb-kicker { font-size: .625rem; }
.rb-transfer-section-head .rb-title { font-size: .91rem; }
.rb-readiness__score { min-width: 42px; min-height: 31px; display: grid; place-items: center; border: 1px solid rgba(var(--rb-warning-rgb),.16); border-radius: 11px; color: var(--rb-warning); background: rgba(var(--rb-warning-rgb),.07); font-size: .625rem; font-weight: 950; }
.rb-readiness__score.is-ready { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.16); background: rgba(var(--rb-success-rgb),.07); }
.rb-readiness__grid { display: grid; gap: .5rem; }
.rb-readiness-card { border: 1px solid var(--rb-line); border-radius: 17px; padding: .67rem; background: var(--rb-surface-soft); transition: border-color var(--rb-normal) ease, background var(--rb-normal) ease; }
.rb-readiness-card.is-complete { border-color: rgba(var(--rb-success-rgb),.14); background: linear-gradient(100deg, rgba(var(--rb-success-rgb),.045), rgba(255,255,255,.86) 52%); }
.rb-readiness-card__top { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: .55rem; }
.rb-readiness-card__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--rb-warning); background: rgba(var(--rb-warning-rgb),.08); }
.rb-readiness-card.is-complete .rb-readiness-card__icon { color: var(--rb-success); background: rgba(var(--rb-success-rgb),.08); }
.rb-readiness-card__copy { min-width: 0; display: grid; line-height: 1; }
.rb-readiness-card__copy small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-readiness-card__copy strong { margin-top: .16rem; overflow: hidden; color: var(--rb-ink); font-size: .625rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.rb-readiness-card__value { color: var(--rb-ink-soft); font-size: .625rem; font-weight: 900; }
.rb-readiness-card > p { margin: .48rem 0 .42rem 2.78rem; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.45; }
.rb-readiness-card__meter { display: block; height: 4px; overflow: hidden; margin-left: 2.78rem; border-radius: 99px; background: var(--rb-line); }
.rb-readiness-card__meter i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--rb-brand), var(--rb-accent)); }
.rb-readiness-card.is-pending .rb-readiness-card__meter i { background: var(--rb-warning); }

.rb-transfer-composer { display: grid; gap: .68rem; }
.rb-transfer-rail {
    position: sticky;
    top: calc(var(--rb-safe-top) + 75px);
    z-index: 95;
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
    align-items: center;
    gap: .28rem;
    border: 1px solid rgba(255,255,255,.74);
    border-radius: 17px;
    padding: .52rem .58rem;
    background: rgba(249,250,253,.91);
    box-shadow: 0 8px 24px rgba(18,21,34,.065);
    backdrop-filter: blur(15px) saturate(1.15);
    -webkit-backdrop-filter: blur(15px) saturate(1.15);
}
.rb-transfer-rail__item { min-width: 34px; display: grid; justify-items: center; gap: .16rem; color: var(--rb-faint); transition: color var(--rb-fast) ease; }
.rb-transfer-rail__item i { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--rb-line-strong); border-radius: 8px; background: var(--rb-surface); font-size: .625rem; font-style: normal; font-weight: 950; transition: all var(--rb-fast) ease; }
.rb-transfer-rail__item b { font-size: .625rem; font-weight: 950; letter-spacing: .055em; }
.rb-transfer-rail__line { height: 1px; background: var(--rb-line); }
.rb-transfer-rail__item.is-active { color: var(--rb-brand); }
.rb-transfer-rail__item.is-active i { color: var(--rb-on-primary,#fff); border-color: transparent; background: var(--rb-core-gradient); box-shadow: 0 4px 12px var(--rb-brand-18); }
.rb-transfer-rail__item.is-complete { color: var(--rb-success); }
.rb-transfer-rail__item.is-complete i { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.14); background: rgba(var(--rb-success-rgb),.08); }

.rb-transfer-step,
.rb-transfer-confirm {
    border: 1px solid var(--rb-line);
    border-radius: 22px;
    padding: .8rem;
    background: rgba(255,255,255,.9);
    box-shadow: var(--rb-shadow-xs);
    transition: border-color var(--rb-normal) ease, box-shadow var(--rb-normal) ease, transform var(--rb-normal) var(--rb-ease);
}
.rb-transfer-step.is-active { border-color: var(--rb-brand-12); box-shadow: 0 10px 28px rgba(var(--rb-brand-rgb),.065); }
.rb-transfer-step.is-complete { border-color: rgba(var(--rb-success-rgb),.12); }
.rb-transfer-step__head { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: start; gap: .58rem; margin-bottom: .68rem; }
.rb-transfer-step__number { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--rb-brand-12); border-radius: 11px; color: var(--rb-brand); background: var(--rb-brand-08); font-size: .625rem; font-weight: 950; }
.rb-transfer-step__head > div { min-width: 0; }
.rb-transfer-step__head > div > small { display: block; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-transfer-step__head h2 { margin: .13rem 0 0; color: var(--rb-ink); font-size: .75rem; font-weight: 900; letter-spacing: -.02em; }
.rb-transfer-step__head p { margin: .22rem 0 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.45; }
.rb-transfer-step__state { align-self: center; min-width: 43px; border: 1px solid var(--rb-line); border-radius: 9px; padding: .26rem .34rem; color: var(--rb-faint); background: var(--rb-surface-soft); font-size: .625rem; font-weight: 950; letter-spacing: .06em; text-align: center; }
.rb-transfer-step.is-active .rb-transfer-step__state { color: var(--rb-brand); border-color: var(--rb-brand-12); background: var(--rb-brand-04); }
.rb-transfer-step.is-complete .rb-transfer-step__state { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.14); background: rgba(var(--rb-success-rgb),.07); }

.rb-transfer-methods { display: grid; gap: .46rem; }
.rb-transfer-method { position: relative; display: grid; grid-template-columns: 39px minmax(0,1fr) 22px; align-items: center; gap: .58rem; min-height: 68px; border: 1px solid var(--rb-line); border-radius: 16px; padding: .58rem .62rem; background: var(--rb-surface-soft); cursor: pointer; transition: transform var(--rb-fast) var(--rb-ease), border-color var(--rb-fast) ease, background var(--rb-fast) ease, box-shadow var(--rb-fast) ease; }
.rb-transfer-method:active { transform: scale(.993); }
.rb-transfer-method.is-selected { border-color: var(--rb-brand-18); background: linear-gradient(105deg, var(--rb-brand-08), rgba(255,255,255,.92) 46%, var(--rb-accent-08)); box-shadow: 0 7px 18px rgba(var(--rb-brand-rgb),.06); }
.rb-transfer-method__icon { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid var(--rb-line); border-radius: 12px; color: var(--rb-muted); background: var(--rb-surface); transition: color var(--rb-fast) ease, border-color var(--rb-fast) ease; }
.rb-transfer-method.is-selected .rb-transfer-method__icon { color: var(--rb-brand); border-color: var(--rb-brand-12); }
.rb-transfer-method__copy { min-width: 0; display: grid; line-height: 1.1; }
.rb-transfer-method__copy small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .09em; }
.rb-transfer-method__copy strong { margin-top: .14rem; overflow: hidden; color: var(--rb-ink); font-size: .625rem; font-weight: 880; text-overflow: ellipsis; white-space: nowrap; }
.rb-transfer-method__copy p { margin: .22rem 0 0; overflow: hidden; color: var(--rb-muted); font-size: .625rem; font-weight: 600; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.rb-transfer-method__check { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid var(--rb-line-strong); border-radius: 50%; background: var(--rb-surface); }
.rb-transfer-method__check i { width: 8px; height: 8px; border-radius: 50%; transform: scale(0); background: var(--rb-brand); transition: transform var(--rb-fast) var(--rb-ease-emphasis); }
.rb-transfer-method.is-selected .rb-transfer-method__check { border-color: var(--rb-brand-28); }
.rb-transfer-method.is-selected .rb-transfer-method__check i { transform: scale(1); }

.rb-transfer-amount { display: grid; grid-template-columns: 37px minmax(0,1fr) auto; align-items: center; min-height: 58px; border: 1px solid var(--rb-line-strong); border-radius: 16px; padding: .28rem .34rem .28rem .62rem; background: var(--rb-surface-soft); transition: border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease, background var(--rb-fast) ease; }
.rb-transfer-amount:focus-within { border-color: var(--rb-brand); background: var(--rb-surface); box-shadow: 0 0 0 4px var(--rb-brand-08); }
.rb-transfer-amount__currency { color: var(--rb-brand); font-size: 1.08rem; font-weight: 900; }
.rb-transfer-amount input { width: 100%; min-width: 0; border: 0; outline: 0; padding: .4rem .25rem; color: var(--rb-ink); background: transparent; font-size: 1.16rem; font-weight: 900; letter-spacing: -.03em; }
.rb-transfer-amount input::placeholder { color: var(--rb-faint); }
.rb-transfer-amount input::-webkit-inner-spin-button,.rb-transfer-amount input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.rb-transfer-amount__max { min-height: 44px; border: 0; border-radius: 11px; padding: 0 .7rem; color: var(--rb-brand); background: var(--rb-brand-08); font-size: .625rem; font-weight: 950; letter-spacing: .07em; cursor: pointer; }
.rb-transfer-amount__meta { display: flex; justify-content: space-between; gap: .5rem; margin-top: .5rem; }
.rb-transfer-amount__meta span { display: grid; gap: .06rem; }
.rb-transfer-amount__meta span:last-child { text-align: right; }
.rb-transfer-amount__meta small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-transfer-amount__meta strong { color: var(--rb-ink-soft); font-size: .625rem; font-weight: 850; }

.rb-transfer-field-label { display: block; margin: 0 0 .35rem .12rem; color: var(--rb-ink-soft); font-size: .625rem; font-weight: 850; }
.rb-transfer-account-field { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; min-height: 56px; border: 1px solid var(--rb-line-strong); border-radius: 16px; padding: 0 .72rem 0 .38rem; background: var(--rb-surface-soft); transition: border-color var(--rb-fast) ease, box-shadow var(--rb-fast) ease, background var(--rb-fast) ease; }
.rb-transfer-account-field:focus-within { border-color: var(--rb-brand); background: var(--rb-surface); box-shadow: 0 0 0 4px var(--rb-brand-08); }
.rb-transfer-account-field > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--rb-brand); background: var(--rb-brand-08); }
.rb-transfer-account-field input { width: 100%; min-width: 0; border: 0; outline: 0; padding: .72rem .25rem; color: var(--rb-ink); background: transparent; font-size: 1rem; font-weight: 740; }
.rb-transfer-account-field input::placeholder { color: var(--rb-faint); font-weight: 600; }
.rb-transfer-field-note { margin: .42rem .1rem 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.45; }

.rb-transfer-confirm { overflow: hidden; border-color: var(--rb-brand-12); background: linear-gradient(160deg, rgba(255,255,255,.95), var(--rb-brand-04)); }
.rb-transfer-confirm.is-ready { border-color: rgba(var(--rb-success-rgb),.16); }
.rb-transfer-confirm__head { display: flex; justify-content: space-between; gap: .7rem; }
.rb-transfer-confirm__head > div { min-width: 0; }
.rb-transfer-confirm__head .rb-kicker { font-size: .625rem; }
.rb-transfer-confirm__head .rb-title { font-size: .9rem; }
.rb-transfer-confirm__head p:last-child { margin: .26rem 0 0; color: var(--rb-muted); font-size: .625rem; line-height: 1.45; }
.rb-transfer-confirm__status { align-self: flex-start; border: 1px solid var(--rb-line); border-radius: 10px; padding: .3rem .42rem; color: var(--rb-faint); background: var(--rb-surface); font-size: .625rem; font-weight: 950; letter-spacing: .07em; }
.rb-transfer-confirm.is-ready .rb-transfer-confirm__status { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.14); background: rgba(var(--rb-success-rgb),.07); }
.rb-transfer-summary { margin-top: .68rem; overflow: hidden; border: 1px solid var(--rb-line); border-radius: 17px; background: rgba(255,255,255,.88); }
.rb-transfer-summary__route { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: .52rem; padding: .58rem .62rem; background: var(--rb-surface-soft); }
.rb-transfer-summary__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--rb-brand); background: var(--rb-brand-08); }
.rb-transfer-summary__route > span:last-child { display: grid; min-width: 0; line-height: 1; }
.rb-transfer-summary__route small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .09em; }
.rb-transfer-summary__route strong { margin-top: .17rem; overflow: hidden; color: var(--rb-ink); font-size: .625rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.rb-transfer-summary__row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-top: 1px solid var(--rb-line); padding: .54rem .62rem; }
.rb-transfer-summary__row span { color: var(--rb-muted); font-size: .625rem; font-weight: 650; }
.rb-transfer-summary__row strong { max-width: 58%; overflow: hidden; color: var(--rb-ink-soft); font-size: .625rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.rb-transfer-security { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .52rem; margin-top: .56rem; border: 1px solid rgba(var(--rb-info-rgb),.12); border-radius: 14px; padding: .52rem; color: var(--rb-info); background: rgba(var(--rb-info-rgb),.045); }
.rb-transfer-security > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: rgba(var(--rb-info-rgb),.08); }
.rb-transfer-security p { margin: 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.45; }
.rb-transfer-security strong { color: var(--rb-info); font-size: .625rem; font-weight: 950; letter-spacing: .065em; }
.rb-transfer-submit { width: 100%; min-height: 58px; display: grid; grid-template-columns: 36px minmax(0,1fr) 26px; align-items: center; gap: .56rem; margin-top: .62rem; border: 0; border-radius: 16px; padding: .48rem .62rem; color: var(--rb-on-primary,#fff); background: var(--rb-core-gradient); box-shadow: var(--rb-shadow-brand); cursor: pointer; transition: transform var(--rb-fast) var(--rb-ease), opacity var(--rb-fast) ease, filter var(--rb-fast) ease; }
.rb-transfer-submit:active:not(:disabled) { transform: translateY(1px) scale(.993); }
.rb-transfer-submit:disabled { color: var(--rb-muted); background: var(--rb-line); box-shadow: none; cursor: not-allowed; }
.rb-transfer-submit.is-busy { filter: saturate(.72); }
.rb-transfer-submit__signal { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.1); }
.rb-transfer-submit:disabled .rb-transfer-submit__signal { border-color: rgba(0,0,0,.05); background: rgba(255,255,255,.42); }
.rb-transfer-submit__signal i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(255,255,255,.11); }
.rb-transfer-submit.is-busy .rb-transfer-submit__signal i { animation: rb-transfer-pulse .85s ease-in-out infinite alternate; }
.rb-transfer-submit__copy { min-width: 0; display: grid; justify-items: start; line-height: 1; }
.rb-transfer-submit__copy small { font-size: .625rem; font-weight: 950; letter-spacing: .09em; opacity: .72; }
.rb-transfer-submit__copy strong { margin-top: .17rem; overflow: hidden; font-size: .625rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.rb-transfer-submit__arrow { justify-self: end; }
@keyframes rb-transfer-pulse { from { transform: scale(.75); opacity: .55; } to { transform: scale(1.18); opacity: 1; } }

.rb-transfer-empty { min-height: 300px; display: grid; justify-items: center; align-content: center; text-align: center; border: 1px dashed var(--rb-line-strong); border-radius: 25px; padding: 1.4rem 1rem; background: rgba(255,255,255,.84); }
.rb-transfer-empty__radar { position: relative; width: 74px; height: 74px; display: grid; place-items: center; margin-bottom: .75rem; border: 1px solid var(--rb-brand-12); border-radius: 50%; background: var(--rb-brand-04); }
.rb-transfer-empty__radar::before,.rb-transfer-empty__radar::after { content: ""; position: absolute; border: 1px solid var(--rb-brand-12); border-radius: 50%; }
.rb-transfer-empty__radar::before { inset: 13px; }
.rb-transfer-empty__radar::after { inset: 26px; }
.rb-transfer-empty__radar i { width: 7px; height: 7px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 5px var(--rb-brand-08); }
.rb-transfer-empty__radar b { position: absolute; width: 1px; height: 30px; top: 7px; left: 50%; transform-origin: 50% 30px; background: var(--rb-brand); opacity: .45; animation: rb-transfer-radar 4s linear infinite; }
.rb-transfer-empty__radar em { position: absolute; width: 5px; height: 5px; right: 14px; top: 20px; border-radius: 50%; background: var(--rb-accent); }
.rb-transfer-empty h2 { margin: .08rem 0 .32rem; color: var(--rb-ink); font-size: .95rem; font-weight: 900; }
.rb-transfer-empty > p:last-child { max-width: 330px; margin: 0; color: var(--rb-muted); font-size: .625rem; line-height: 1.55; }
@keyframes rb-transfer-radar { to { transform: rotate(360deg); } }

@media (max-width: 360px) {
    .rb-transfer-hero { gap: .55rem; }
    .rb-transfer-hero__state { padding: .42rem; }
    .rb-transfer-hero__state small { display: none; }
    .rb-transfer-rail { gap: .18rem; padding-inline: .4rem; }
    .rb-transfer-rail__item b { display: none; }
    .rb-transfer-step__head { grid-template-columns: 32px minmax(0,1fr); }
    .rb-transfer-step__number { width: 32px; height: 32px; }
    .rb-transfer-step__state { grid-column: 2; justify-self: start; margin-top: -.1rem; }
    .rb-readiness-card__value { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .rb-transfer-empty__radar b,
    .rb-transfer-submit.is-busy .rb-transfer-submit__signal i { animation: none !important; }
}

/* ============================================================
   Phase 7 — Activity Log + Secure Access / Restricted States
   History, Auth and Banned views are fully rb-* and no longer use
   the activity and access presentation layer.
   ============================================================ */

/* ---------- Activity Log / History ---------- */
.rb-activity {
    display: grid;
    gap: .9rem;
    padding-top: .38rem;
    padding-bottom: 1.1rem;
}
.rb-activity-hero {
    min-height: 138px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .9rem;
    padding: 1rem .15rem .2rem;
}
.rb-activity-hero__copy { min-width: 0; }
.rb-activity-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    margin: 0 0 .4rem;
    color: var(--rb-brand);
    font-size: .625rem;
    font-weight: 950;
    letter-spacing: .13em;
}
.rb-activity-eyebrow > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-brand);
    box-shadow: 0 0 0 4px var(--rb-brand-08), 0 0 14px var(--rb-brand-28);
}
.rb-activity-hero h1 {
    margin: 0;
    color: var(--rb-ink);
    font-size: clamp(1.55rem, 8vw, 2rem);
    font-weight: 950;
    line-height: 1.04;
    letter-spacing: -.055em;
}
.rb-activity-hero__copy > p:last-child {
    max-width: 405px;
    margin: .5rem 0 0;
    color: var(--rb-muted);
    font-size: .63rem;
    font-weight: 620;
    line-height: 1.62;
}
.rb-activity-hero__radar {
    flex: 0 0 72px;
    display: grid;
    justify-items: center;
    gap: .18rem;
    border: 1px solid var(--rb-line);
    border-radius: 20px;
    padding: .52rem .42rem .45rem;
    background: rgba(255,255,255,.84);
    box-shadow: var(--rb-shadow-xs);
}
.rb-activity-hero__radar-core {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rb-brand-12);
    border-radius: 50%;
    background: var(--rb-brand-04);
}
.rb-activity-hero__radar-core::before,
.rb-activity-hero__radar-core::after {
    content: "";
    position: absolute;
    border: 1px solid var(--rb-brand-12);
    border-radius: 50%;
}
.rb-activity-hero__radar-core::before { inset: 6px; }
.rb-activity-hero__radar-core::after { inset: 12px; }
.rb-activity-hero__radar-core i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-activity-hero__radar-core b { position: absolute; width: 1px; height: 15px; top: 4px; left: 50%; transform-origin: 50% 15px; transform: rotate(40deg); background: var(--rb-brand); opacity: .5; animation: rb-activity-radar 4.5s linear infinite; }
.rb-activity-hero__radar-core em { position: absolute; width: 4px; height: 4px; right: 6px; top: 11px; border-radius: 50%; background: var(--rb-accent); }
.rb-activity-hero__radar strong { color: var(--rb-ink); font-size: .7rem; font-weight: 950; line-height: 1; }
.rb-activity-hero__radar small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .09em; line-height: 1; }
@keyframes rb-activity-radar { to { transform: rotate(400deg); } }

.rb-flow-core {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rb-brand-12);
    border-radius: 24px;
    padding: .78rem;
    background:
        radial-gradient(circle at 0 0, var(--rb-brand-12), transparent 34%),
        radial-gradient(circle at 100% 100%, var(--rb-accent-08), transparent 36%),
        rgba(255,255,255,.94);
    box-shadow: var(--rb-shadow-sm);
}
.rb-flow-core::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -92px;
    top: -90px;
    border: 1px solid var(--rb-brand-12);
    border-radius: 50%;
    box-shadow: 0 0 0 24px var(--rb-brand-04), 0 0 0 48px rgba(var(--rb-secondary-rgb),.025);
    pointer-events: none;
}
.rb-flow-core__topline,
.rb-flow-core__grid,
.rb-flow-core__net { position: relative; z-index: 1; }
.rb-flow-core__topline { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .62rem; }
.rb-flow-core__topline > span { display: inline-flex; align-items: center; gap: .34rem; color: var(--rb-success); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-flow-core__topline > span i { width: 5px; height: 5px; border-radius: 50%; background: var(--rb-success); box-shadow: 0 0 0 3px rgba(var(--rb-success-rgb),.08); }
.rb-flow-core__topline > small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-flow-core__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.rb-flow-stat { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: .5rem; border: 1px solid var(--rb-line); border-radius: 15px; padding: .55rem; background: rgba(255,255,255,.82); }
.rb-flow-stat__icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; }
.rb-flow-stat.is-credit .rb-flow-stat__icon { color: var(--rb-success); background: rgba(var(--rb-success-rgb),.075); }
.rb-flow-stat.is-debit .rb-flow-stat__icon { color: var(--rb-danger); background: rgba(var(--rb-danger-rgb),.07); }
.rb-flow-stat__copy { min-width: 0; display: grid; line-height: 1; }
.rb-flow-stat__copy small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-flow-stat__copy strong { margin-top: .16rem; overflow: hidden; color: var(--rb-ink); font-size: .64rem; font-weight: 930; text-overflow: ellipsis; white-space: nowrap; }
.rb-flow-stat.is-credit .rb-flow-stat__copy strong { color: var(--rb-success); }
.rb-flow-stat.is-debit .rb-flow-stat__copy strong { color: var(--rb-danger); }
.rb-flow-core__net { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin-top: .5rem; border: 1px solid var(--rb-line); border-radius: 15px; padding: .58rem .62rem; background: var(--rb-surface-soft); }
.rb-flow-core__net > span { display: grid; line-height: 1; }
.rb-flow-core__net small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .09em; }
.rb-flow-core__net span strong { margin-top: .15rem; color: var(--rb-muted); font-size: .625rem; font-weight: 900; letter-spacing: .07em; }
.rb-flow-core__net > b { color: var(--rb-ink); font-size: .72rem; font-weight: 950; }
.rb-flow-core__net.is-positive > b { color: var(--rb-success); }
.rb-flow-core__net.is-negative > b { color: var(--rb-danger); }

.rb-activity-filters {
    display: flex;
    gap: .38rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding: .05rem .1rem .1rem;
    scroll-snap-type: x proximity;
}
.rb-activity-filters::-webkit-scrollbar { display: none; }
.rb-activity-filter {
    min-width: 62px;
    min-height: 44px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .08rem;
    scroll-snap-align: start;
    border: 1px solid var(--rb-line);
    border-radius: 14px;
    padding: .38rem .55rem;
    color: var(--rb-muted);
    background: rgba(255,255,255,.86);
    box-shadow: var(--rb-shadow-xs);
    cursor: pointer;
    transition: color var(--rb-fast) ease, border-color var(--rb-fast) ease, background var(--rb-fast) ease, transform var(--rb-fast) ease;
}
.rb-activity-filter:active { transform: scale(.98); }
.rb-activity-filter > span { font-size: .625rem; font-weight: 880; line-height: 1; }
.rb-activity-filter > small { font-size: .625rem; font-weight: 950; letter-spacing: .09em; line-height: 1; }
.rb-activity-filter.is-active { color: var(--rb-on-primary,#fff); border-color: transparent; background: var(--rb-core-gradient); box-shadow: 0 8px 20px var(--rb-brand-18); }

.rb-activity-ledger { border: 1px solid var(--rb-line); border-radius: 24px; padding: .76rem; background: rgba(255,255,255,.9); box-shadow: var(--rb-shadow-xs); }
.rb-activity-ledger__head { display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; padding: .1rem .1rem .68rem; }
.rb-activity-ledger__head > div { min-width: 0; }
.rb-activity-ledger__head .rb-kicker { font-size: .625rem; }
.rb-activity-ledger__head .rb-title { font-size: .93rem; }
.rb-activity-ledger__head p:last-child { max-width: 360px; margin: .26rem 0 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.48; }
.rb-activity-ledger__count { flex: 0 0 auto; min-width: 48px; display: grid; place-items: center; border: 1px solid var(--rb-brand-12); border-radius: 13px; padding: .35rem .42rem; background: var(--rb-brand-04); line-height: 1; }
.rb-activity-ledger__count b { color: var(--rb-brand); font-size: .64rem; font-weight: 950; }
.rb-activity-ledger__count small { margin-top: .12rem; color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-activity-timeline { display: grid; }
.rb-activity-entry {
    position: relative;
    display: grid;
    grid-template-columns: 18px 40px minmax(0,1fr) auto;
    align-items: center;
    gap: .48rem;
    min-height: 78px;
    border-top: 1px solid var(--rb-line);
    padding: .62rem .04rem;
}
.rb-activity-entry:first-child { border-top: 0; }
.rb-activity-entry[hidden] { display: none !important; }
.rb-activity-entry__rail { align-self: stretch; position: relative; display: grid; place-items: center; }
.rb-activity-entry__rail::before { content: ""; position: absolute; width: 1px; top: -.62rem; bottom: -.62rem; background: var(--rb-line); }
.rb-activity-entry:first-child .rb-activity-entry__rail::before { top: 50%; }
.rb-activity-entry:last-child .rb-activity-entry__rail::before { bottom: 50%; }
.rb-activity-entry__rail i { position: relative; z-index: 1; width: 8px; height: 8px; border: 2px solid var(--rb-surface); border-radius: 50%; background: var(--rb-brand); box-shadow: 0 0 0 2px var(--rb-brand-12); }
.rb-activity-entry.is-credit .rb-activity-entry__rail i { background: var(--rb-success); box-shadow: 0 0 0 2px rgba(var(--rb-success-rgb),.12); }
.rb-activity-entry.is-debit .rb-activity-entry__rail i { background: var(--rb-danger); box-shadow: 0 0 0 2px rgba(var(--rb-danger-rgb),.12); }
.rb-activity-entry__icon { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--rb-line); border-radius: 13px; color: var(--rb-ink-soft); background: var(--rb-surface-soft); }
.rb-activity-entry.is-credit .rb-activity-entry__icon { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.11); background: rgba(var(--rb-success-rgb),.055); }
.rb-activity-entry.is-debit .rb-activity-entry__icon { color: var(--rb-danger); border-color: rgba(var(--rb-danger-rgb),.11); background: rgba(var(--rb-danger-rgb),.05); }
.rb-activity-entry__body { min-width: 0; display: grid; }
.rb-activity-entry__meta { min-width: 0; display: flex; align-items: center; gap: .36rem; margin-bottom: .12rem; }
.rb-activity-entry__meta b { flex: 0 0 auto; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-activity-entry__meta time { min-width: 0; overflow: hidden; color: var(--rb-faint); font-size: .625rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.rb-activity-entry__body > strong { overflow: hidden; color: var(--rb-ink); font-size: .625rem; font-weight: 900; line-height: 1.24; text-overflow: ellipsis; white-space: nowrap; }
.rb-activity-entry__body > small { margin-top: .13rem; overflow: hidden; color: var(--rb-muted); font-size: .625rem; font-weight: 600; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.rb-activity-entry__amount { min-width: 70px; display: grid; justify-items: end; line-height: 1; }
.rb-activity-entry__amount strong { color: var(--rb-ink); font-size: .625rem; font-weight: 950; }
.rb-activity-entry.is-credit .rb-activity-entry__amount strong { color: var(--rb-success); }
.rb-activity-entry.is-debit .rb-activity-entry__amount strong { color: var(--rb-danger); }
.rb-activity-entry__amount small { margin-top: .15rem; color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .08em; }
.rb-activity-filter-empty,
.rb-activity-empty { min-height: 210px; display: grid; justify-items: center; align-content: center; text-align: center; border: 1px dashed var(--rb-line-strong); border-radius: 20px; padding: 1.15rem .9rem; background: var(--rb-surface-soft); }
.rb-activity-filter-empty[hidden] { display: none !important; }
.rb-activity-filter-empty > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: .55rem; border-radius: 15px; color: var(--rb-brand); background: var(--rb-brand-08); }
.rb-activity-filter-empty strong { color: var(--rb-ink); font-size: .7rem; font-weight: 900; }
.rb-activity-filter-empty small { margin-top: .2rem; color: var(--rb-muted); font-size: .625rem; }
.rb-activity-empty { min-height: 310px; }
.rb-activity-empty__core { position: relative; width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: .72rem; border: 1px solid var(--rb-brand-12); border-radius: 22px; color: var(--rb-brand); background: var(--rb-brand-04); }
.rb-activity-empty__core::before { content: ""; position: absolute; inset: 9px; border: 1px solid var(--rb-brand-12); border-radius: 17px; }
.rb-activity-empty__core i { position: absolute; width: 7px; height: 7px; right: 8px; top: 8px; border-radius: 50%; background: var(--rb-accent); }
.rb-activity-empty__core b { position: absolute; width: 22px; height: 1px; left: 4px; top: 50%; background: var(--rb-brand-12); }
.rb-activity-empty .rb-kicker { font-size: .625rem; }
.rb-activity-empty h2 { margin: .02rem 0 .35rem; color: var(--rb-ink); font-size: .94rem; font-weight: 920; }
.rb-activity-empty > p:not(.rb-kicker) { max-width: 330px; margin: 0 0 .75rem; color: var(--rb-muted); font-size: .625rem; line-height: 1.55; }
.rb-activity-empty .rb-button { min-height: 46px; font-size: .625rem; }

/* ---------- Shared access shell ---------- */
body.rb-no-chrome { background-attachment: fixed; }
.rb-shell--plain { min-height: var(--rb-telegram-viewport); }
.rb-access-screen {
    min-height: var(--rb-telegram-viewport);
    display: grid;
    place-items: center;
    padding: max(1.1rem, var(--rb-safe-top)) max(.9rem, var(--rb-safe-right)) max(1.1rem, var(--rb-safe-bottom)) max(.9rem, var(--rb-safe-left));
}
.rb-access-shell { width: min(100%, 430px); display: grid; gap: .78rem; }
.rb-access-brand { display: flex; align-items: center; justify-content: center; gap: .64rem; padding: .15rem; }
.rb-access-brand__core { position: relative; width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--rb-brand-12); border-radius: 16px; color: var(--rb-brand); background: linear-gradient(145deg,var(--rb-brand-08),var(--rb-accent-08)); box-shadow: var(--rb-shadow-xs); }
.rb-access-brand__fallback { display: grid; place-items: center; }
.rb-access-brand__core img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: var(--rb-surface); }
.rb-access-brand__core > i { position: absolute; right: 4px; bottom: 4px; width: 9px; height: 9px; border: 2px solid var(--rb-surface); border-radius: 50%; background: var(--rb-success); box-shadow: 0 0 0 2px rgba(var(--rb-success-rgb),.1); }
.rb-access-brand__core > i.is-hold { background: var(--rb-danger); box-shadow: 0 0 0 2px rgba(var(--rb-danger-rgb),.1); }
.rb-access-brand__copy { min-width: 0; display: grid; line-height: 1; }
.rb-access-brand__copy > small { display: inline-flex; align-items: center; gap: .32rem; color: var(--rb-success); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-access-brand__copy > small i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.rb-access-brand__copy > small.is-hold { color: var(--rb-danger); }
.rb-access-brand__copy > strong { max-width: 250px; margin-top: .22rem; overflow: hidden; color: var(--rb-ink); font-size: .9rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.rb-access-brand__copy > span { margin-top: .15rem; color: var(--rb-faint); font-size: .625rem; font-weight: 700; }
.rb-access-footnote { display: flex; align-items: center; justify-content: center; gap: .34rem; margin: 0; padding: 0 .45rem; color: var(--rb-faint); font-size: .625rem; font-weight: 650; line-height: 1.45; text-align: center; }
.rb-access-footnote > span { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: var(--rb-brand); opacity: .65; }

/* ---------- Secure Auth Terminal ---------- */
.rb-auth-terminal,
.rb-restricted-terminal {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rb-brand-12);
    border-radius: 28px;
    padding: 1rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 46px rgba(18,21,34,.12);
}
.rb-auth-terminal__grid,
.rb-restricted-terminal__grid { position: absolute; inset: 0; pointer-events: none; opacity: .45; background-image: linear-gradient(var(--rb-grid-line) 1px, transparent 1px), linear-gradient(90deg,var(--rb-grid-line) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(145deg,#000 0%,transparent 72%); }
.rb-auth-terminal::after,
.rb-restricted-terminal::after { content: ""; position: absolute; width: 190px; height: 190px; right: -110px; top: -105px; border: 1px solid var(--rb-brand-12); border-radius: 50%; box-shadow: 0 0 0 30px var(--rb-brand-04), 0 0 0 60px rgba(var(--rb-secondary-rgb),.025); pointer-events: none; }
.rb-auth-terminal > :not(.rb-auth-terminal__grid),
.rb-restricted-terminal > :not(.rb-restricted-terminal__grid) { position: relative; z-index: 1; }
.rb-auth-terminal__topline,
.rb-restricted-terminal__topline { display: flex; align-items: center; justify-content: space-between; gap: .55rem; }
.rb-auth-terminal__topline > span,
.rb-restricted-terminal__topline > span { display: inline-flex; align-items: center; gap: .35rem; color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-auth-terminal__topline > span i,
.rb-restricted-terminal__topline > span i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-auth-terminal__topline > small,
.rb-restricted-terminal__topline > small { color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-auth-signal { position: relative; width: 104px; height: 104px; display: grid; place-items: center; margin: 1rem auto .8rem; }
.rb-auth-signal__rings { position: absolute; inset: 0; display: grid; place-items: center; border: 1px solid var(--rb-brand-12); border-radius: 50%; background: radial-gradient(circle,var(--rb-brand-08),transparent 64%); }
.rb-auth-signal__rings::before,.rb-auth-signal__rings::after { content: ""; position: absolute; border: 1px solid var(--rb-brand-12); border-radius: 50%; }
.rb-auth-signal__rings::before { inset: 14px; }
.rb-auth-signal__rings::after { inset: 28px; }
.rb-auth-signal__rings i { position: absolute; width: 1px; height: 43px; top: 9px; left: 50%; transform-origin: 50% 43px; transform: rotate(28deg); background: linear-gradient(var(--rb-brand),transparent); opacity: .55; animation: rb-auth-scan 2.6s linear infinite; }
.rb-auth-signal__rings b,.rb-auth-signal__rings em { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--rb-accent); box-shadow: 0 0 0 4px var(--rb-accent-08); }
.rb-auth-signal__rings b { right: 14px; top: 25px; }
.rb-auth-signal__rings em { left: 20px; bottom: 22px; transform: scale(.7); opacity: .6; }
.rb-auth-signal__core { position: relative; width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--rb-brand-12); border-radius: 18px; color: var(--rb-brand); background: rgba(255,255,255,.94); box-shadow: 0 10px 28px var(--rb-brand-12); transition: color var(--rb-normal) ease, background var(--rb-normal) ease, border-color var(--rb-normal) ease; }
.rb-auth-icon { grid-area: 1/1; transition: opacity var(--rb-fast) ease, transform var(--rb-fast) var(--rb-ease-emphasis); }
.rb-auth-icon--success,.rb-auth-icon--error { opacity: 0; transform: scale(.7); }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-icon--loading,
.rb-auth-terminal[data-auth-state="error"] .rb-auth-icon--loading { opacity: 0; transform: scale(.7); }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-icon--success,
.rb-auth-terminal[data-auth-state="error"] .rb-auth-icon--error { opacity: 1; transform: scale(1); }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-signal__core { color: var(--rb-success); border-color: rgba(var(--rb-success-rgb),.15); background: rgba(var(--rb-success-rgb),.06); }
.rb-auth-terminal[data-auth-state="error"] .rb-auth-signal__core { color: var(--rb-danger); border-color: rgba(var(--rb-danger-rgb),.16); background: rgba(var(--rb-danger-rgb),.055); }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-signal__rings { border-color: rgba(var(--rb-success-rgb),.16); }
.rb-auth-terminal[data-auth-state="error"] .rb-auth-signal__rings { border-color: rgba(var(--rb-danger-rgb),.16); }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-signal__rings i,
.rb-auth-terminal[data-auth-state="error"] .rb-auth-signal__rings i { animation: none; opacity: 0; }
@keyframes rb-auth-scan { to { transform: rotate(388deg); } }
.rb-auth-terminal__copy { display: grid; justify-items: center; text-align: center; }
.rb-auth-terminal__copy > span { color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .11em; }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-terminal__copy > span { color: var(--rb-success); }
.rb-auth-terminal[data-auth-state="error"] .rb-auth-terminal__copy > span { color: var(--rb-danger); }
.rb-auth-terminal__copy h1 { max-width: 330px; margin: .3rem 0 0; color: var(--rb-ink); font-size: 1.15rem; font-weight: 950; line-height: 1.15; letter-spacing: -.035em; }
.rb-auth-terminal__copy p { max-width: 340px; margin: .42rem 0 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.58; }
.rb-auth-terminal[data-auth-state="error"] .rb-auth-terminal__copy p { color: var(--rb-danger); }
.rb-auth-protocol { display: grid; grid-template-columns: repeat(3,1fr); gap: .4rem; margin-top: .88rem; }
.rb-auth-protocol__step { position: relative; min-width: 0; display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: center; gap: .34rem; border: 1px solid var(--rb-line); border-radius: 14px; padding: .43rem; background: var(--rb-surface-soft); transition: border-color var(--rb-fast) ease, background var(--rb-fast) ease; }
.rb-auth-protocol__step > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 9px; color: var(--rb-faint); background: var(--rb-surface); font-size: .625rem; font-weight: 950; }
.rb-auth-protocol__step > div { min-width: 0; display: grid; line-height: 1; }
.rb-auth-protocol__step strong { overflow: hidden; color: var(--rb-ink-soft); font-size: .625rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.rb-auth-protocol__step small { margin-top: .13rem; color: var(--rb-faint); font-size: .625rem; font-weight: 950; letter-spacing: .07em; }
.rb-auth-protocol__step > i { position: absolute; width: 5px; height: 5px; right: 7px; top: 7px; border-radius: 50%; background: var(--rb-line-strong); }
.rb-auth-protocol__step.is-current { border-color: var(--rb-brand-12); background: var(--rb-brand-04); }
.rb-auth-protocol__step.is-current > span,.rb-auth-protocol__step.is-current strong { color: var(--rb-brand); }
.rb-auth-protocol__step.is-current > i { background: var(--rb-brand); box-shadow: 0 0 0 3px var(--rb-brand-08); }
.rb-auth-protocol__step.is-complete { border-color: rgba(var(--rb-success-rgb),.12); background: rgba(var(--rb-success-rgb),.045); }
.rb-auth-protocol__step.is-complete > span,.rb-auth-protocol__step.is-complete strong { color: var(--rb-success); }
.rb-auth-protocol__step.is-complete > i { background: var(--rb-success); }
.rb-auth-progress { height: 6px; overflow: hidden; margin-top: .55rem; border: 1px solid var(--rb-line); border-radius: 999px; background: var(--rb-surface-soft); }
.rb-auth-progress > span { display: block; width: 8%; height: 100%; border-radius: inherit; background: var(--rb-core-gradient); transition: width var(--rb-slow) var(--rb-ease-emphasis), background var(--rb-normal) ease; }
.rb-auth-terminal[data-auth-state="success"] .rb-auth-progress > span { background: var(--rb-success); }
.rb-auth-terminal[data-auth-state="error"] .rb-auth-progress > span { background: var(--rb-danger); }
.rb-auth-security { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: .54rem; margin-top: .68rem; border: 1px solid rgba(var(--rb-info-rgb),.11); border-radius: 15px; padding: .55rem; background: rgba(var(--rb-info-rgb),.04); }
.rb-auth-security > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: var(--rb-info); background: rgba(var(--rb-info-rgb),.08); }
.rb-auth-security > div { min-width: 0; display: grid; }
.rb-auth-security strong { color: var(--rb-info); font-size: .625rem; font-weight: 950; letter-spacing: .075em; }
.rb-auth-security small { margin-top: .14rem; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.45; }
.rb-auth-retry { width: 100%; margin-top: .65rem; }

/* ---------- Restricted / Account Hold ---------- */
.rb-restricted-terminal { border-color: rgba(var(--rb-danger-rgb),.13); }
.rb-restricted-terminal::after { border-color: rgba(var(--rb-danger-rgb),.08); box-shadow: 0 0 0 30px rgba(var(--rb-danger-rgb),.025),0 0 0 60px rgba(var(--rb-danger-rgb),.016); }
.rb-restricted-terminal__topline > span { color: var(--rb-danger); }
.rb-restricted-terminal__topline > span i { box-shadow: 0 0 0 3px rgba(var(--rb-danger-rgb),.07); }
.rb-restricted-signal { position: relative; width: 96px; height: 96px; display: grid; place-items: center; margin: 1rem auto .75rem; border: 1px solid rgba(var(--rb-danger-rgb),.13); border-radius: 50%; background: radial-gradient(circle,rgba(var(--rb-danger-rgb),.07),transparent 66%); }
.rb-restricted-signal::before,.rb-restricted-signal::after { content: ""; position: absolute; border: 1px solid rgba(var(--rb-danger-rgb),.11); border-radius: 50%; }
.rb-restricted-signal::before { inset: 13px; }
.rb-restricted-signal::after { inset: 27px; }
.rb-restricted-signal > span { position: relative; z-index: 2; width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(var(--rb-danger-rgb),.14); border-radius: 18px; color: var(--rb-danger); background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(var(--rb-danger-rgb),.08); }
.rb-restricted-signal > i,.rb-restricted-signal > b { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--rb-danger); opacity: .55; }
.rb-restricted-signal > i { right: 12px; top: 24px; }
.rb-restricted-signal > b { left: 16px; bottom: 18px; transform: scale(.75); }
.rb-restricted-terminal__copy { display: grid; justify-items: center; text-align: center; }
.rb-restricted-terminal__copy > span { color: var(--rb-danger); font-size: .625rem; font-weight: 950; letter-spacing: .1em; }
.rb-restricted-terminal__copy h1 { max-width: 340px; margin: .32rem 0 0; color: var(--rb-ink); font-size: 1.1rem; font-weight: 950; line-height: 1.18; letter-spacing: -.035em; }
.rb-restricted-terminal__copy p { max-width: 355px; margin: .46rem 0 0; color: var(--rb-muted); font-size: .625rem; font-weight: 610; line-height: 1.6; }
.rb-recovery-protocol { margin-top: .8rem; border: 1px solid var(--rb-line); border-radius: 18px; padding: .62rem; background: var(--rb-surface-soft); }
.rb-recovery-protocol > header { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .48rem; padding: 0 .04rem .5rem; }
.rb-recovery-protocol > header > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--rb-brand-08); }
.rb-recovery-protocol > header > span i { width: 8px; height: 8px; border: 2px solid var(--rb-brand); border-radius: 2px; transform: rotate(45deg); }
.rb-recovery-protocol > header > div { display: grid; line-height: 1; }
.rb-recovery-protocol > header small { color: var(--rb-brand); font-size: .625rem; font-weight: 950; letter-spacing: .09em; }
.rb-recovery-protocol > header strong { margin-top: .15rem; color: var(--rb-ink); font-size: .625rem; font-weight: 900; }
.rb-recovery-step { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: .5rem; border-top: 1px solid var(--rb-line); padding: .5rem .02rem; }
.rb-recovery-step > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: var(--rb-brand); background: var(--rb-brand-08); font-size: .625rem; font-weight: 950; }
.rb-recovery-step > div { min-width: 0; display: grid; }
.rb-recovery-step strong { color: var(--rb-ink-soft); font-size: .625rem; font-weight: 880; }
.rb-recovery-step small { margin-top: .12rem; color: var(--rb-muted); font-size: .625rem; font-weight: 600; line-height: 1.45; }
.rb-restricted-actions { display: grid; gap: .5rem; margin-top: .7rem; }
.rb-restricted-actions .rb-button { width: 100%; }
.rb-status-recheck { border: 1px solid var(--rb-line); background: var(--rb-surface-soft); }
.rb-status-recheck.is-loading { opacity: .62; pointer-events: none; }
.rb-status-recheck.is-loading svg { animation: rb-status-spin .8s linear infinite; }
@keyframes rb-status-spin { to { transform: rotate(360deg); } }
.rb-restricted-unavailable { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: .52rem; border: 1px solid rgba(var(--rb-warning-rgb),.12); border-radius: 15px; padding: .55rem; background: rgba(var(--rb-warning-rgb),.045); }
.rb-restricted-unavailable > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: var(--rb-warning); background: rgba(var(--rb-warning-rgb),.08); }
.rb-restricted-unavailable > div { min-width: 0; display: grid; }
.rb-restricted-unavailable strong { color: var(--rb-ink-soft); font-size: .625rem; font-weight: 900; }
.rb-restricted-unavailable small { margin-top: .12rem; color: var(--rb-muted); font-size: .625rem; font-weight: 600; line-height: 1.45; }

@media (max-width: 380px) {
    .rb-activity-hero__radar { flex-basis: 64px; }
    .rb-flow-core__grid { grid-template-columns: 1fr; }
    .rb-activity-entry { grid-template-columns: 14px 36px minmax(0,1fr); gap: .4rem; }
    .rb-activity-entry__icon { width: 36px; height: 36px; }
    .rb-activity-entry__amount { grid-column: 3; justify-items: start; margin-top: -.05rem; }
    .rb-auth-terminal,.rb-restricted-terminal { padding: .85rem; border-radius: 24px; }
    .rb-auth-protocol { grid-template-columns: 1fr; }
    .rb-auth-protocol__step { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    .rb-activity-hero__radar-core b,
    .rb-auth-signal__rings i,
    .rb-status-recheck.is-loading svg { animation: none !important; }
}
