/* FIPS certificate tracker. Scoped additions on top of the baseof
   styles; list markup reuses .log / ol.entries. */

.fips-counts {
  display: flex; flex-wrap: wrap; gap: 0.6rem 2rem;
  margin: 1.6rem 0; color: var(--muted); font-size: 0.9rem;
}
.fips-counts .n { color: var(--bright); font-weight: 600; font-size: 1.15rem; margin-right: 0.35rem; }
.fips-counts .fips-sub { font-size: 0.8rem; }

.fips-banner {
  border: 1px solid var(--rule); border-left: 3px solid var(--orange);
  background: #0d1014; border-radius: 4px;
  padding: 0.9rem 1.1rem; margin: 1.6rem 0; font-size: 0.92rem; line-height: 1.65;
}
.fips-banner strong { color: var(--bright); }
.fips-banner.fips-active { border-left-color: var(--orange); }
.fips-banner.fips-historical { border-left-color: var(--muted); }
.fips-banner.fips-revoked { border-left-color: var(--red); }

.fips-caveat {
  border: 1px solid var(--rule); background: #11151b; border-radius: 4px;
  padding: 0.8rem 1.1rem; margin: 1.2rem 0; font-size: 0.88rem; color: var(--ink);
}
.fips-note { color: var(--muted); font-size: 0.85rem; }

.fips .prose th { white-space: nowrap; text-align: left; color: var(--muted); font-weight: 500; }

.fips-crumbs { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--rule); display: flex; gap: 1.4rem; font-size: 0.85rem; }

/* search */
.fips-search { margin: 2rem 0 0.5rem; }
.fips-search label { display: block; color: var(--muted); font-size: 0.8rem; letter-spacing: 0.06em; margin-bottom: 0.4rem; }
.fips-search input {
  width: 100%; padding: 0.65rem 0.8rem; font: inherit; color: var(--bright);
  background: #0d1014; border: 1px solid var(--rule); border-radius: 4px;
}
.fips-search input:focus { outline: none; border-color: var(--orange); }
#fips-results { margin-top: 0.4rem; }
#fips-results .hit {
  display: grid; grid-template-columns: 3.6rem 1fr auto; gap: 1rem; align-items: baseline;
  padding: 0.55rem 0.4rem; border-bottom: 1px solid var(--rule);
  color: var(--ink); text-decoration: none; font-size: 0.88rem;
}
#fips-results .hit:hover { background: rgba(255,138,0,0.05); color: var(--bright); }
#fips-results .hit .num { color: var(--muted); }
#fips-results .hit:hover .num { color: var(--orange); }
#fips-results .hit .st { color: var(--muted); font-size: 0.78rem; }
#fips-results .hit .st.active { color: var(--orange); }
#fips-results .more { color: var(--muted); font-size: 0.8rem; padding: 0.5rem 0.4rem; }

/* changes list */
.fips-changes .fips-day { color: var(--bright); font-weight: 600; padding: 1.2rem 0.4rem 0.3rem; border-bottom: 1px solid var(--rule); font-size: 0.85rem; }
.fips-event { display: block; padding: 0.55rem 0.4rem; font-size: 0.88rem; line-height: 1.6; }
.fips-event .when { color: var(--muted); margin-right: 0.8rem; font-size: 0.82rem; }
ol.entries .fips-event a { display: inline; padding: 0; }

/* vendors */
.fips-vendors { margin-top: 1.5rem; font-size: 0.85rem; }
.fips-vendor { padding: 0.5rem 0.2rem; border-bottom: 1px solid var(--rule); }
.fips-vendor strong { color: var(--ink); font-weight: 500; margin-right: 0.6rem; }
.fips-certs a { color: var(--muted); text-decoration: none; margin-right: 0.45rem; }
.fips-certs a:hover { color: var(--yellow); }
.fips-certs a.fips-live { color: var(--orange); }
