/* Africa Pathogen Genomics Tracker */
.pt-wrap { max-width: 980px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.pt-header { margin-bottom: 1.1rem; }
.pt-header-title { display: flex; align-items: center; gap: .5rem; font-size: 1.1rem; font-weight: 700; color: #e6edf3; }
.pt-header-sub { font-size: .78rem; color: #8b949e; margin-top: .2rem; }
.pt-overview-row { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pt-ov-chip { background: #161b22; border: 1px solid #21262d; border-radius: 8px; padding: .55rem .85rem; display: flex; flex-direction: column; align-items: center; min-width: 100px; }
.pt-ov-n { font-size: 1.2rem; font-weight: 800; color: #ff6b6b; line-height: 1.1; }
.pt-ov-l { font-size: .62rem; color: #8b949e; margin-top: .1rem; text-align: center; }
.pt-path-row { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pt-path-btn { display: flex; align-items: center; gap: .4rem; padding: .35rem .8rem; background: #161b22; border: 1px solid #21262d; border-radius: 20px; color: #8b949e; font-size: .78rem; font-weight: 600; cursor: pointer; font-family: inherit; transition: border-color .15s, color .15s; }
.pt-path-btn:hover { color: #c9d1d9; border-color: var(--pc); }
.pt-path-active { border-color: var(--pc); color: var(--pc); background: color-mix(in srgb, var(--pc) 8%, transparent); }
.pt-path-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pt-detail { background: #161b22; border: 1px solid #21262d; border-radius: 10px; padding: 1.1rem; }
.pt-detail-hdr { display: flex; justify-content: space-between; align-items: flex-start; border-left: 3px solid; padding-left: .8rem; margin-bottom: .6rem; flex-wrap: wrap; gap: .4rem; }
.pt-detail-name { font-size: 1rem; font-weight: 800; color: #e6edf3; margin-right: .5rem; }
.pt-detail-class { font-size: .7rem; color: #8b949e; }
.pt-priority-badge { font-size: .65rem; font-weight: 700; padding: .12rem .45rem; border-radius: 20px; text-transform: capitalize; }
.pt-priority-high { background: rgba(255,107,107,.1); color: #ff6b6b; }
.pt-priority-med { background: rgba(88,166,255,.1); color: #58a6ff; }
.pt-summary { font-size: .8rem; color: #8b949e; line-height: 1.65; margin-bottom: .9rem; }
.pt-sub-label { font-size: .72rem; color: #8b949e; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .55rem; }
.pt-variant-list { display: flex; flex-direction: column; gap: .45rem; }
.pt-variant-row { display: grid; grid-template-columns: 1.6fr 1fr 2fr 1fr; gap: .5rem; align-items: center; background: #0d1117; border-radius: 6px; padding: .5rem .75rem; }
@media(max-width:640px) { .pt-variant-row { grid-template-columns: 1fr 1fr; } }
.pt-var-name { font-size: .78rem; font-weight: 700; color: #e6edf3; font-family: 'Cascadia Code','Fira Mono',monospace; }
.pt-var-type { font-size: .65rem; color: #8b949e; }
.pt-var-desc { font-size: .72rem; color: #8b949e; line-height: 1.4; }
.pt-var-bar-wrap { display: flex; align-items: center; gap: .4rem; }
.pt-var-bar { height: 6px; border-radius: 3px; min-width: 3px; }
.pt-var-pct { font-size: .72rem; color: #8b949e; white-space: nowrap; }
.pt-country-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem; }
.pt-country-card { background: #0d1117; border: 1px solid #21262d; border-radius: 7px; padding: .65rem .8rem; }
.pt-cc-hdr { display: flex; justify-content: space-between; align-items: center; margin-bottom: .25rem; }
.pt-cc-name { font-size: .82rem; font-weight: 700; color: #e6edf3; }
.pt-cc-status { font-size: .65rem; font-weight: 700; text-transform: capitalize; }
.pt-cc-seqs { font-size: .72rem; color: #8b949e; margin-bottom: .15rem; }
.pt-cc-cap { font-size: .68rem; font-weight: 600; margin-bottom: .15rem; }
.pt-cc-vars { font-size: .62rem; color: #484f58; line-height: 1.4; }
.pt-disclaimer { font-size: .68rem; color: #484f58; margin-top: 1.25rem; line-height: 1.6; }
.pt-disclaimer a { color: #58a6ff; }
