/* @file services-local-backup.css
 * @description Services Workspace — the Local Backup TOOLBAR ENTRY POINT only.
 *
 *   mlb-1 (2026-08-26) replaced the per-sheet `#svcLocalBackupModal` with the
 *   app-wide console in public/css/mums-local-backup.css, so every `.svc-lb-*`
 *   modal rule that used to live here has been REMOVED rather than left behind:
 *   an ungated duplicate of a surface that no longer exists is exactly the kind
 *   of dead layer that later gets "fixed" by someone chasing a selector that
 *   nothing renders (memory.md · "an ungated duplicate of a gated source always
 *   rots").
 *
 *   What remains is the status dot on `#svcLocalBackupBtn` — a Services-only
 *   affordance, token-driven off the `--sc-*` ramp (services-theme.css) so it
 *   is correct in both the dark and light services themes. Load AFTER
 *   services-theme.css so the tokens are already defined.
 *
 * @module MUMS/Services
 * @version mlb-1 (2026-08-26) — supersedes lbx-1 (2026-08-10)
 */

/* ── toolbar status dot ─────────────────────────────────────────────────── */
.svc-lb-toolbtn { position: relative; }
.svc-lb-dot {
  position: absolute; top: 3px; right: 3px;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--sc-text-faint, #6e6e66);
  box-shadow: 0 0 0 1.5px var(--sc-panel, #0d0e12);
  transition: background .2s ease, box-shadow .2s ease;
}
.svc-lb-dot.st-off   { background: var(--sc-text-faint, #6e6e66); }
.svc-lb-dot.st-watch { background: #60a5fa; }
.svc-lb-dot.st-sync  { background: #fbbf24; animation: svcLbPulse 1.1s ease-in-out infinite; }
.svc-lb-dot.st-ok    { background: #34d399; }
.svc-lb-dot.st-warn  { background: #fb923c; animation: svcLbPulse 1.6s ease-in-out infinite; }
.svc-lb-dot.st-err   { background: #f87171; animation: svcLbPulse 1.6s ease-in-out infinite; }
@keyframes svcLbPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.35); opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .svc-lb-dot { animation: none !important; }
}
