:root { --hq-ink: #0f172a; --hq-accent: #f59e0b; }
body { background: #f3f5f8; }
.hq-top { position: sticky; top: 0; z-index: 1020; display: flex; align-items: center; gap: 1rem; padding: .5rem 1rem; background: var(--hq-ink); color: #fff; overflow-x: auto; }
.hq-brand { display: inline-flex; align-items: center; gap: .5rem; color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.hq-brand.dark { color: var(--hq-ink); font-size: 1.25rem; }
.hq-brand b { color: var(--hq-accent); }
.hq-mark { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: .5rem; background: var(--hq-accent); color: var(--hq-ink); }
.hq-nav { display: flex; gap: .25rem; }
.hq-nav a { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border-radius: .45rem; color: rgba(255,255,255,.72); text-decoration: none; white-space: nowrap; font-size: .92rem; }
.hq-nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
.hq-nav a.active { color: #fff; background: rgba(255,255,255,.14); }
@media (max-width: 991.98px) { .hq-nav a span:not(.badge) { display: none; } }
.hq-main { max-width: 1320px; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
.hq-guest { min-height: 100vh; display: grid; place-items: center; }
.hq-guest-wrap { width: 100%; max-width: 400px; padding: 1.5rem 1rem; }
.hq-guest-wrap.wide { max-width: 680px; }
.card { border-color: #e3e7ee; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.card-header { background: #fff; font-weight: 600; }
.stat { display: flex; flex-direction: column; gap: .15rem; }
.stat .n { font-size: 1.8rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat .l { color: #64748b; font-size: .85rem; }
.tabular, td.num { font-variant-numeric: tabular-nums; }
.key { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .02em; }
.table > :not(caption) > * > * { padding: .55rem .6rem; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #64748b; font-weight: 600; }
.dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; margin-right: .35rem; vertical-align: .05rem; }
.dot-ok { background: #16a34a; } .dot-warn { background: #d97706; } .dot-critical { background: #dc2626; } .dot-off { background: #94a3b8; }
.issue { display: flex; gap: .5rem; align-items: flex-start; padding: .4rem 0; border-bottom: 1px solid #eef1f5; }
.issue:last-child { border-bottom: 0; }
.beats { display: flex; gap: 2px; align-items: flex-end; height: 28px; }
.beats span { flex: 1; min-width: 3px; height: 100%; border-radius: 2px; }
.beats .ok { background: #16a34a; } .beats .warn { background: #d97706; } .beats .critical { background: #dc2626; } .beats .gap { background: #e2e8f0; }
dl.facts { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; }
dl.facts dt { color: #64748b; font-weight: 400; }
dl.facts dd { margin: 0; word-break: break-word; }
@media (max-width: 575.98px) {
  .hq-top { flex-wrap: wrap; row-gap: .25rem; overflow: visible; }
  .hq-nav { order: 3; width: 100%; justify-content: space-between; }
  .hq-nav a { padding: .45rem .55rem; }
}

/* Module checklists (licence forms) */
.module-list { display: grid; gap: .5rem; }
.module-item { display: flex; gap: .6rem; align-items: flex-start; padding: .6rem .75rem; border: 1px solid var(--bs-border-color); border-radius: .5rem; cursor: pointer; }
.module-item:has(input:checked) { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .05); }
.module-item input { margin-top: .2rem; flex: none; }
