/* pod-panel.css — the floating pod panel. Loaded by the Hub AND copied into the
   Document Picture-in-Picture window, which starts with no stylesheets at all. */
.pp-root {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: #121214; color: #ECECEC;
  padding: 14px 16px; border-radius: 10px;
  border: 1px solid #2A2A2E; min-width: 288px;
}
.pp-head { display: flex; justify-content: space-between; align-items: baseline;
  font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #8D8D93; }
.pp-priority { font-size: 30px; font-weight: 700; letter-spacing: .02em; margin: 10px 0 2px; }
.pp-fill { font-size: 13px; color: #A0A0A6; }
.pp-live { margin-top: 12px; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.pp-dot { width: 9px; height: 9px; border-radius: 50%; background: #4A4A50; flex: none; }
.pp-badge { margin-top: 10px; font-size: 11px; color: #8D8D93; letter-spacing: .05em; }
.pp-confirm { margin-top: 12px; width: 100%; padding: 9px 0; font-size: 14px; font-weight: 600;
  background: #B08D3F; color: #17170F; border: 0; border-radius: 6px; cursor: pointer; }

/* Switch now — gold, one chime, many times a day. */
.pp-root.is-switch { background: #1D1708; border-color: #B08D3F; }
.pp-root.is-switch .pp-priority { color: #E8B84B; }
.pp-root.is-switch .pp-dot { background: #E8B84B; }

/* Reassigned — the whole panel flashes until Confirmed is tapped. */
.pp-root.is-reassigned { background: #23180A; border-color: #E8B84B; }
.pp-root.is-reassigned .pp-priority { color: #FFD469; }
@keyframes pp-flash { 0%, 100% { box-shadow: 0 0 0 0 rgba(232,184,75,0); }
                      50%      { box-shadow: 0 0 0 5px rgba(232,184,75,.55); } }
.pp-root.is-reassigned { animation: pp-flash 1.1s ease-in-out infinite; }

/* Stale — amber. A dead feed must not read as a calm day. */
.pp-root.is-stale { border-color: #C77F1A; }
.pp-stale-note { margin-top: 10px; font-size: 12px; color: #E39B2E; }

@media (prefers-reduced-motion: reduce) { .pp-root.is-reassigned { animation: none; } }

/* ── The launcher and the docked fallback ──────────────────────────────────
   Both shipped with NO styling at all in the first version: the button was a bare
   default control sitting after every page section at the bottom of the document, and
   the dock had no position, so a refused floating window would have rendered the panel
   off the bottom of a long page. Matches .notif-btn, the topbar convention. */
.pp-launch {
  position: relative; display: grid; place-items: center;
  width: 36px; height: 36px; border-radius: var(--radius);
  border: 1px solid var(--border); background: var(--surface);
  color: var(--muted); cursor: pointer; transition: all 0.15s ease;
}
.pp-launch:hover { color: var(--gold-lt); border-color: var(--gold-dim); }
.pp-launch svg { width: 17px; height: 17px; }

/* Docked fallback: Chrome/Edge get a floating window, everywhere else (and when the
   floating window is refused) the panel lands here, pinned where it can be seen. */
.pp-dock {
  position: fixed; right: 18px; bottom: 18px; z-index: 900;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.55));
}
@media (max-width: 640px) { .pp-dock { right: 10px; bottom: 10px; left: 10px; } }

/* Coverage strip on the schedule page. Quiet by default: it is context, not an alert. */
.cov-strip {
  display: flex; flex-wrap: wrap; gap: 20px;
  margin: 0 0 14px; padding: 10px 14px;
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--surface); color: var(--muted);
  font-size: 12px; letter-spacing: .02em;
}
.cov-strip b { color: var(--gold-dim); font-weight: 700; margin-right: 6px; }
@media (max-width: 640px) { .cov-strip { flex-direction: column; gap: 6px; } }
