.rcm-update-banner {
    position: fixed;
    left: 50%;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    z-index: 2147482500;
    width: min(430px, calc(100vw - 28px));
    transform: translateX(-50%);
    box-sizing: border-box;
    border: 1px solid #3b82f6;
    border-radius: 12px;
    background: rgba(15, 23, 42, .98);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .55);
    color: #fff;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.3;
}
.rcm-update-banner[hidden] { display: none !important; }
.rcm-update-banner strong { color: #facc15; }
.rcm-update-banner-actions { margin-top: 9px; display: flex; justify-content: flex-end; }
.rcm-update-banner button {
    border: 1px solid #5ee58a;
    border-radius: 8px;
    background: #0b9f45;
    color: #fff;
    padding: 7px 12px;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}
.rcm-network-notice {
    position: fixed;
    left: 50%;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    z-index: 2147482400;
    width: min(410px, calc(100vw - 32px));
    transform: translateX(-50%);
    box-sizing: border-box;
    border: 1px solid #64748b;
    border-radius: 10px;
    background: rgba(15, 23, 42, .96);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .45);
    color: #e5e7eb;
    padding: 10px 12px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
}
.rcm-network-notice[hidden] { display: none !important; }
.rcm-network-notice.is-error { border-color: #ef4444; }

/* RCM_APP_28.4.0: "New data has arrived" (static/js/data_landing.js). Tap anywhere closes. */
.rcm-landing-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(2,6,23,.78);cursor:pointer}
.rcm-landing-card{width:min(420px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px 16px 14px;border:1px solid #34d399;border-radius:16px;background:#0b1220;color:#e5f2ff;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.rcm-landing-title{margin:0;color:#6ee7b7;font-size:22px;font-weight:900}
.rcm-landing-meta{margin:3px 0 6px;color:#94a3b8;font-size:12px;font-weight:700}
.rcm-landing-board{display:grid;gap:6px}
.rcm-landing-totals{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;color:#cbd5e1;font-size:13px;font-weight:700}
.rcm-landing-stat strong{color:#fff;font-size:16px;font-weight:900}
.rcm-landing-admin-tag{padding:1px 6px;border:1px solid #475569;border-radius:999px;color:#94a3b8;font-size:10px;font-weight:900;text-transform:uppercase;vertical-align:1px}
.rcm-landing-row{display:grid;grid-template-columns:50px 54px 42px minmax(0,1fr);align-items:baseline;gap:6px;padding:7px 8px;border:1px solid #253047;border-radius:10px;background:#111b2e}
.rcm-landing-row.has-change{border-color:#34d399;background:#0f2a22}
.rcm-landing-head{padding:0 8px;border:0;background:none;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.rcm-landing-head span{color:#64748b;font-size:10px}
.rcm-landing-change{color:#64748b;font-size:14px;font-weight:900;white-space:nowrap;text-align:center}
.rcm-landing-row.has-change .rcm-landing-change{color:#6ee7b7}
.rcm-landing-row.is-removal{border-color:#f59e0b;background:#2a1f0f}
.rcm-landing-row.is-removal .rcm-landing-change{color:#fbbf24}
.rcm-landing-updated{color:#94a3b8;font-size:14px;font-weight:800;text-align:right}
.rcm-landing-total{color:#fff;font-size:18px;font-weight:900;text-align:right}
.rcm-landing-label{color:#dbeafe;font-size:13px;font-weight:800;line-height:1.2}
/* 28.6.14: "Upcoming events" note, and the VIP-only all-time Events total under that row. */
.rcm-landing-note{display:block;margin-top:2px;color:#94a3b8;font-size:11px;font-weight:700}
.rcm-landing-vip-line{margin:-2px 8px 2px;color:#94a3b8;font-size:11px;font-weight:700;text-align:right}
.rcm-landing-vip-line strong{color:#cbd5e1}
.rcm-landing-footer{margin-top:10px;color:#cbd5e1;font-size:13px;font-weight:700}
/* 28.5.5: App updated shows with the "is current" notice -- window at the top, notice below it. */
.rcm-landing-overlay.with-notice{align-items:flex-start;padding-bottom:120px}
.rcm-landing-overlay.with-notice .rcm-landing-card{max-height:calc(100dvh - 140px)}
.rcm-update-banner.is-beside-window{z-index:2147483100}
.rcm-landing-hint{margin-top:12px;color:#64748b;font-size:11px;font-weight:700;text-align:center}
