:root {
    --rv-ground: #f5f6f8;
    --rv-surface: #ffffff;
    --rv-surface-2: #f0f2f5;
    --rv-ink: #1d2330;
    --rv-muted: #5f6878;
    --rv-line: #dde1e7;
    --rv-nav: #1f242c;
    --rv-accent: #0d6efd;
    --rv-accent-soft: #e3edff;
    --rv-sel: #eef4ff;
    --rv-new: #5b6b82; --rv-new-bg: #e9edf3;
    --rv-short: #6b3fb8; --rv-short-bg: #efe7fb;
    --rv-ok: #177245; --rv-ok-bg: #dff3e7;
    --rv-wait: #9a5b00; --rv-wait-bg: #fdf0d5;
    --rv-no: #b42332; --rv-no-bg: #fbe3e5;
    --rv-gone: #4b5563; --rv-gone-bg: #e5e7eb;
}
body { background: var(--rv-ground); color: var(--rv-ink); }
.app-nav { background: var(--rv-nav); }
.navbar-brand { font-weight: 600; letter-spacing: .01em; }
.avatar-initial { width: 24px; height: 24px; border-radius: 50%; background: #5865f2; color: #fff; display: inline-grid; place-items: center; font-size: 11px; font-weight: 700; }
.btn-discord { background: #5865f2; border-color: #5865f2; color: #fff; }
.btn-discord:hover, .btn-discord:focus { background: #4752c4; border-color: #4752c4; color: #fff; }
kbd { font-size: 11px; background: #e8ebf0; color: var(--rv-ink); padding: 0 4px; }

.pill { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.s-New { background: var(--rv-new-bg); color: var(--rv-new); }
.s-Shortlisted { background: var(--rv-short-bg); color: var(--rv-short); }
.s-Approved { background: var(--rv-ok-bg); color: var(--rv-ok); }
.s-Waitlisted { background: var(--rv-wait-bg); color: var(--rv-wait); }
.s-Rejected { background: var(--rv-no-bg); color: var(--rv-no); }
.s-Withdrawn { background: var(--rv-gone-bg); color: var(--rv-gone); }

.toast-region { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 2000; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.toast-msg { background: var(--rv-nav); color: #e9ecf1; padding: 8px 14px; border-radius: 6px; font-size: 13px; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
.toast-msg.error { background: var(--rv-no); color: #fff; }
