    *, *::before, *::after { box-sizing: border-box; }
    body { margin:0; font-family:system-ui,sans-serif; background:#ffffff; color:#111; }
    header { display:flex; align-items:center; padding:.6rem .8rem; background:#f5f5f7; border-bottom:1px solid #ddd; gap:.4rem; flex-wrap: wrap; }
    header h1 { font-size:1.1rem; margin-right:1rem; margin-top:0; margin-bottom:0; }
    .btn { border:1px solid #ccc; background:#f0f0f2; color:#111; padding:.35rem .7rem; border-radius:.5rem; cursor:pointer; font-size:.85rem; margin-bottom: 2px; }
    .btn:hover { background: #e4e4e8; }
    a.btn { text-decoration:none; display:inline-block; }
    .btn.active { outline:2px solid #0ea5e9; background:#e0f2fe; }
    .content { padding:.8rem; }
    .charts { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.8rem; margin-bottom:.8rem; }
    .chart-card { background:#f8f8fa; border:1px solid #ddd; border-radius:.6rem; padding:.8rem; }
    .chart-card h2 { font-size:.9rem; color:#888; margin-top:0; font-weight:normal; }
    .chart-bar-row { display:flex; align-items:center; gap:.5rem; margin:.3rem 0; font-size:.85rem; }
    .chart-label { width:140px; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .chart-bar-wrap { flex:1; height:22px; background:#f0f0f2; border-radius:3px; }
    .chart-bar { height:100%; border-radius:3px; }
    .chart-bar.dns { background:#2563eb; }
    .chart-bar.mx  { background:#2563eb; }
    .chart-bar.cert { background:#059669; }
    .chart-count { width:40px; color:#666; }
    .table-wrap { background:#f8f8fa; border:1px solid #ddd; border-radius:.6rem; overflow:hidden; }
    table { width:100%; border-collapse:collapse; font-size:.85rem; }
    th { background:#f0f0f2; padding:.7rem; text-align:left; border-bottom:1px solid #ccc; position:sticky; top:0; }
    td { padding:.7rem; border-bottom:1px solid #eee; vertical-align:top; }
    .prov-tag { display:inline-block; background:#e8ecf4; border:1px solid #c4cdd9; border-radius:.3rem; padding:.1rem .4rem; margin:2px; font-size:.8rem; }
    .spof-warn { background:#fee2e2; border-color:#991b1b; }
    .mx-tag { background:#ede9fe; border-color:#c4b5fd; }
    .mx-tag.spof-warn { background:#fee2e2; border-color:#991b1b; }
    .prov-tag.as-ok { background:#dcfce7; border-color:#166534; color:#166534; }
    .prov-tag.as-spof { background:#fee2e2; border-color:#991b1b; color:#991b1b; }
    .cert-box { margin-bottom:6px; border-left:3px solid #ccc; padding-left:6px; font-size: 0.8rem; }
    .cert-na { border-color:#ccc; color:#888; font-style: italic; }
    .search-wrap { display: flex; gap: 0.5rem; margin-left: auto; align-items: center; }
    @media (max-width: 1100px) { .charts { grid-template-columns: 1fr; } }
