h2{letter-spacing:0;color:var(--text-strong);align-items:center;gap:.6rem;margin:1.2rem 0 .4rem;font-size:.95rem;font-weight:600;display:flex}h2:before{content:"";background:var(--brand);border-radius:2px;flex:none;width:3px;height:.95em}p{color:var(--text)}.muted{color:var(--muted);font-size:.82rem}.freshness{color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:var(--shadow-card);background:#ffffffc2;align-items:center;gap:.55rem;padding:.4rem .85rem;font-size:.82rem;display:inline-flex}.freshness-dot{background:var(--accent-active);border-radius:999px;width:.55rem;height:.55rem}.freshness[data-state=stale] .freshness-dot{background:var(--accent-unused)}.freshness[data-state=unknown] .freshness-dot{background:var(--muted-2)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:.5rem 0 0;display:grid}.card{border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#ffffffd1;padding:1.05rem 1.25rem 1.1rem;transition:border-color .16s,box-shadow .16s}.card:hover{box-shadow:var(--shadow-card-hover);border-color:#1a73e859}.card-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.35rem;font-size:.72rem}.card-value{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--text-strong);font-size:1.55rem;font-weight:650}.card-sub{color:var(--muted);margin-top:.15rem;font-size:.72rem}.feature-badges{flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1.5rem;display:flex}.feature-badge{border:1px solid var(--border);border-radius:var(--radius-control);color:var(--muted);background:#ffffffc7;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;display:inline-flex}.feature-badge strong{color:var(--text);font-weight:600}.feature-badge .badge-dot{background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:999px;flex:none;width:.55rem;height:.55rem}.table-shell{border:1px solid var(--border);border-radius:var(--radius-card);background:#ffffffdb;margin-top:.6rem;overflow:hidden}.infra-table{border-collapse:collapse;width:100%;font-size:.86rem}.infra-table thead tr{background:var(--panel-2);border-bottom:1px solid var(--border)}.infra-table th{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:.65rem 1rem;font-size:.7rem;font-weight:600}.infra-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.infra-table th.sortable:hover{color:var(--text)}.infra-table th.is-sorted{color:var(--brand)}.sort-icon{opacity:.45;margin-left:.3rem;font-size:.65rem;display:inline-block}.infra-table th.is-sorted .sort-icon{opacity:1}.infra-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:.6rem 1rem}.infra-table tbody tr:last-child td{border-bottom:none}.infra-table tbody tr{transition:background .12s}.infra-table tbody tr:hover{background:#1a73e80a}.tld-cell{color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.88rem;font-weight:600}.tld-cell .tld-dot{color:var(--muted);font-weight:400}.tld-probes{color:var(--muted-2);margin-top:.1rem;font-size:.72rem}.bar-cell{align-items:center;gap:.55rem;min-width:120px;display:flex}.bar-bg{border-radius:var(--radius-pill);background:var(--panel-2);border:1px solid var(--border);flex:1;min-width:60px;height:6px;overflow:hidden}.bar-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--brand), var(--brand-2));height:100%;transition:width .3s}.bar-pct{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2.5rem;font-size:.8rem}.bar-pct.hi{color:var(--accent-active)}.bar-pct.lo{color:var(--muted-2)}.no-data{text-align:center;color:var(--muted);padding:1.2rem 1rem;font-size:.88rem}#infra-status{color:var(--muted);margin-top:.6rem;font-size:.82rem}footer{border-top:1px solid var(--border);color:var(--muted-2);margin-top:3rem;padding-top:1rem;font-size:.72rem}@media (prefers-reduced-motion:reduce){.bar-fill{transition:none!important}}@media (max-width:640px){.bar-bg{min-width:40px}.bar-cell{min-width:90px}}
