/* Task Radar overdue banner (task-alerts.js). Global: it sits at the top of .main on
   every page and sticks just under the sticky top bar (--ta-top is set from the
   bar's real height). No close control by design. */
.ta-banner{position:sticky;top:var(--ta-top,58px);z-index:55;display:flex;flex-wrap:wrap;align-items:center;
  gap:.6rem .9rem;margin:0 0 1.2rem;padding:.65rem 1rem;border:1px solid rgba(224,91,91,.55);
  border-radius:var(--radius-lg);background:linear-gradient(90deg,rgba(224,91,91,.16),rgba(12,12,12,.92) 70%);
  backdrop-filter:blur(8px)}
.ta-banner[hidden]{display:none}
.ta-banner-dot{width:9px;height:9px;border-radius:50%;background:#e05b5b;flex:none;animation:ta-pulse 1.4s infinite}
@keyframes ta-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.ta-banner-text{font-weight:700;font-size:.92rem;color:var(--white)}
.ta-banner-btn{flex:0 0 auto;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;padding:.42rem .75rem;border-radius:var(--radius-sm);border:1px solid transparent;
  background:var(--grad-gold-btn);color:#0a0a0a;cursor:pointer}
.ta-banner-enable{background:transparent;color:var(--gold-lt);border-color:var(--gold-dim)}
.ta-banner-note{font-size:.78rem;color:var(--muted)}
.ta-banner-btn:focus-visible{outline:2px solid #d4ae52;outline-offset:2px}

/* Turn on alerts on the Task Radar page header (tasks.js page). */
.tr-alerts-ctl{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.tr-btn-enable{background:transparent;color:#d4ae52;border-color:#d4ae52}
.tr-alerts-blocked{font-size:.78rem;color:var(--muted)}

/* [hidden] must beat the explicit display on these controls. */
.ta-banner-btn[hidden],.ta-banner-note[hidden],.tr-btn-enable[hidden],.tr-alerts-blocked[hidden]{display:none}

@media (prefers-reduced-motion:reduce){.ta-banner-dot{animation:none}}
