/* Auto-refresh indicator and "new data" bar (see auto-refresh.js) */
.erp-rf { position:fixed; right:12px; bottom:12px; z-index:60; display:flex; align-items:center; gap:8px; max-width:calc(100vw - 24px); padding:5px 6px 5px 10px; border-radius:999px; background:#0f172a; color:#e2e8f0; font-weight:500; font-size:12px; line-height:16px; box-shadow:0 4px 14px rgba(15,23,42,.35); border:1px solid #334155; }
.erp-rf button { font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; }
.erp-rf-dot { display:flex; align-items:center; gap:7px; min-height:28px; white-space:nowrap; }
.erp-rf-led { width:9px; height:9px; border-radius:50%; background:#22c55e; flex-shrink:0; }
.erp-rf-sub { color:#94a3b8; font-size:11px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.erp-rf-sub[data-flash] { color:#fde68a; white-space:normal; max-width:260px; }
.erp-rf-now { width:30px; height:30px; border-radius:50%; display:flex !important; align-items:center; justify-content:center; background:#1e293b !important; flex-shrink:0; }
.erp-rf-now:hover { background:#334155 !important; }
.erp-rf button:focus-visible, .erp-rf-banner button:focus-visible { outline:2px solid #818cf8; outline-offset:2px; }
.erp-rf[data-state=off] .erp-rf-led { background:#64748b; }
.erp-rf[data-state=refreshing] .erp-rf-led { background:#38bdf8; animation:erp-rf-pulse 1s infinite; }
.erp-rf[data-state=done] .erp-rf-led { background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.3); }
.erp-rf[data-state=unsaved] .erp-rf-led, .erp-rf[data-state=processing] .erp-rf-led, .erp-rf[data-state=modal] .erp-rf-led, .erp-rf[data-state=typing] .erp-rf-led, .erp-rf[data-state=offline] .erp-rf-led { background:#f59e0b; }
.erp-rf[data-state=newdata] .erp-rf-led { background:#818cf8; animation:erp-rf-pulse 1.4s infinite; }
@keyframes erp-rf-pulse { 50% { opacity:.35; } }
@media (prefers-reduced-motion:reduce) { .erp-rf-led { animation:none !important; } }
.erp-rf-banner { position:fixed; left:50%; top:72px; transform:translateX(-50%); z-index:61; display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; width:max-content; max-width:min(720px, calc(100vw - 24px)); padding:10px 14px; border-radius:12px; background:#1e1b4b; color:#e0e7ff; font-weight:500; font-size:13px; line-height:18px; box-shadow:0 8px 24px rgba(15,23,42,.4); border:1px solid #4338ca; }
.erp-rf-banner[hidden] { display:none; }
.erp-rf-btns { display:flex; flex-wrap:wrap; gap:6px; }
.erp-rf-banner button { font:inherit; font-size:12px; min-height:32px; padding:4px 12px; border-radius:8px; border:1px solid #6366f1; background:transparent; color:#e0e7ff; cursor:pointer; }
.erp-rf-banner button:hover { background:#312e81; }
.erp-rf-banner .erp-rf-primary { background:#4f46e5; border-color:#4f46e5; color:#fff; }
.erp-rf-banner .erp-rf-quiet { border-color:transparent; color:#a5b4fc; }
@media (max-width:600px) {
  .erp-rf { right:8px; bottom:8px; padding-left:8px; }
  .erp-rf-sub { display:none; }
  .erp-rf-banner { top:64px; width:calc(100vw - 16px); }
}
@media print { .erp-rf, .erp-rf-banner { display:none !important; } }
