.ram-badge {
    --ram-green: #18a558;
    --ram-red: #cf2e2e;
    --ram-gray: #777;
    box-sizing: border-box;
    display: inline-block;
    min-width: 210px;
    padding: 9px 11px 8px;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    color: #161616;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
    line-height: 1.25;
    box-shadow: 0 2px 10px rgba(0,0,0,.13);
}
.ram-floating {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 99990;
}
body.admin-bar .ram-floating { top: 44px; }
.ram-row { display: flex; align-items: center; gap: 6px; }
.ram-title-row { font-weight: 700; white-space: nowrap; }
.ram-label { opacity: .82; }
.ram-repeater-id { flex: 1; }
.ram-led {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--ram-gray);
    box-shadow: 0 0 0 2px rgba(0,0,0,.08), inset 0 0 2px rgba(0,0,0,.3);
}
.ram-green .ram-led { background: var(--ram-green); box-shadow: 0 0 6px rgba(24,165,88,.75); }
.ram-red .ram-led { background: var(--ram-red); box-shadow: 0 0 6px rgba(207,46,46,.65); }
.ram-last-label { margin-top: 5px; font-size: 11px; opacity: .65; }
.ram-last-heard { margin-top: 1px; font-size: 12px; font-weight: 600; }
@media (max-width: 600px) {
    .ram-floating { top: 8px; right: 8px; min-width: 185px; }
    body.admin-bar .ram-floating { top: 54px; }
}
.ram-admin-notice {
    padding: 8px 10px;
    border: 1px solid #dba617;
    background: #fff8e5;
    color: #3c434a;
    font-size: 13px;
}

.ram-duration-row {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-size: 11px;
}
.ram-duration-label { opacity: .65; }
.ram-duration { font-size: 12px; font-weight: 700; }
