.deadline-card,.filter-panel,.detail-card,.live-panel{border:1px solid var(--border-mid);background:var(--bg-card);border-radius:1rem}
.deadline-card{padding:1.15rem;position:relative;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}
.deadline-card:hover{border-color:rgba(var(--accent-rgb),.35);transform:translateY(-1px)}
.deadline-card.urgency-overdue,.deadline-card.urgency-immediate{border-color:rgba(248,113,113,.45);box-shadow:0 0 0 1px rgba(248,113,113,.08),0 18px 45px rgba(127,29,29,.15)}
.deadline-card.urgency-near{border-color:rgba(251,191,36,.38)}
.deadline-card.urgency-medium{border-color:rgba(96,165,250,.34)}
.deadline-card.urgency-far{border-color:rgba(34,211,238,.28)}
.deadline-card.urgency-long{border-color:rgba(192,132,252,.26)}
.status,.urgency-pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .55rem;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.status-current,.urgency-immediate .urgency-pill{color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.25)}
.status-upcoming{color:#60a5fa;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.25)}
.status-history{color:#94a3b8;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.22)}
.status-watch{color:#c084fc;background:rgba(192,132,252,.12);border:1px solid rgba(192,132,252,.25)}
.urgency-overdue .urgency-pill{color:#fecaca;background:rgba(248,113,113,.16);border:1px solid rgba(248,113,113,.34)}
.urgency-near .urgency-pill{color:#fde68a;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.22)}
.urgency-medium .urgency-pill{color:#bfdbfe;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.22)}
.urgency-far .urgency-pill{color:#a5f3fc;background:rgba(34,211,238,.09);border:1px solid rgba(34,211,238,.2)}
.urgency-long .urgency-pill{color:#ddd6fe;background:rgba(192,132,252,.1);border:1px solid rgba(192,132,252,.22)}
.filter-label{display:block;font-size:.7rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}
.filter-select{width:100%;padding:.65rem .75rem;border:1px solid var(--border-mid);border-radius:.6rem;background:var(--bg-elevated);color:var(--text-primary);font-size:.85rem}
.source-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.empty-state{border:1px dashed var(--border-mid);border-radius:1rem;padding:2rem;text-align:center;color:var(--text-muted)}
.live-panel{padding:1.1rem;margin-bottom:1.25rem}
.live-stat{border:1px solid rgba(var(--accent-rgb),.14);border-radius:.85rem;background:rgba(15,23,42,.34);padding:.9rem}
.live-stat strong{display:block;color:#f8fafc;font-size:1.35rem;line-height:1.1}
.live-stat span{display:block;color:var(--text-muted);font-size:.75rem;margin-top:.25rem}
.timeline-rail{position:relative;height:.55rem;border-radius:999px;background:rgba(148,163,184,.16);overflow:hidden}
.timeline-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#60a5fa);min-width:.35rem}
.urgency-overdue .timeline-fill,.urgency-immediate .timeline-fill{background:linear-gradient(90deg,#f97316,#ef4444)}
.urgency-near .timeline-fill{background:linear-gradient(90deg,#facc15,#f97316)}
.urgency-medium .timeline-fill{background:linear-gradient(90deg,#38bdf8,#2563eb)}
.urgency-far .timeline-fill{background:linear-gradient(90deg,#22d3ee,#8b5cf6)}
.urgency-long .timeline-fill{background:linear-gradient(90deg,#8b5cf6,#64748b)}
.timeline-meta{display:flex;justify-content:space-between;gap:.75rem;margin-top:.45rem;font-size:.72rem;color:var(--text-muted)}
.distance-chip{display:inline-flex;align-items:center;gap:.35rem;color:#e2e8f0;font-size:.82rem;font-weight:700}
.readiness-hint{border-left:2px solid rgba(var(--accent-rgb),.45);padding-left:.7rem;color:#cbd5e1;font-size:.78rem;line-height:1.45}
.local-note{font-size:.68rem;color:#64748b}
.timeline-strip{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.25rem}
.timeline-node{min-width:10rem;border:1px solid var(--border-mid);border-radius:.75rem;padding:.7rem;background:rgba(15,23,42,.28)}
.timeline-node-date{font-size:.68rem;color:var(--text-muted)}
.timeline-node-title{font-size:.76rem;color:#e2e8f0;font-weight:700;margin-top:.2rem;line-height:1.25}
@media (prefers-reduced-motion:no-preference){.urgency-immediate .urgency-pill{animation:duePulse 2.4s ease-in-out infinite}@keyframes duePulse{0%,100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}50%{box-shadow:0 0 0 4px rgba(251,191,36,.12)}}}
