/* compact header used already in layout.css */
.panel-header--compact{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-2) var(--space-3); }

.port-meta{
  display:grid; gap:.6rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  padding: var(--space-3);
}
.port-meta__label{ display:block; color:var(--muted); font-size:.78rem; }
.port-meta__value{ font-weight:600; }

.badge{ display:inline-block; font:.72rem/1 var(--sans); padding:.2rem .45rem; border-radius:.5rem; border:1px solid var(--border); background:var(--bg-elev); }

.prose{ padding: var(--space-3); }
.prose p{ margin:0 0 .75rem 0; }
.prose ul{ margin:.25rem 0 .75rem 1rem; }

.chart-wrap{ padding: var(--space-3); }
.chart{ inline-size:100%; block-size:min(460px, 46vh); }

.link-list{ list-style:none; margin:0; padding: var(--space-3); }
.link-list li{ margin:.25rem 0; }

.nav-rows{ display:flex; flex-wrap:wrap; gap:.5rem; padding: var(--space-3); }
.btn{
  display:inline-block; padding:.4rem .7rem; border:1px solid var(--border); border-radius:.6rem;
  background:var(--bg-elev); color:var(--text); text-decoration:none;
}
.btn:hover{ background:var(--card); border-color:var(--accent); }

.tag{
  display:inline-block; padding:.25rem .55rem; border-radius:999px; border:1px solid var(--border);
  background:var(--bg-elev); color:var(--text); font:.78rem/1 var(--sans); text-decoration:none;
}
.timespan{ display:flex; gap:.4rem; align-items:center; }
