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