    html, body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:#ffffff; color:#111; }
    #app { min-height:100vh; display:flex; flex-direction:column; }
    header { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; padding:.6rem .8rem; background:#f5f5f7; border-bottom:1px solid #ddd; }
    header h1 { font-size:1rem; margin:0 .6rem 0 0; white-space:nowrap; }
    .btn { border:1px solid #ccc; background:#f0f0f2; color:#111; padding:.35rem .6rem; border-radius:.5rem; cursor:pointer; font-size:.85rem; text-decoration:none; }
    .btn.ghost { background:transparent; border:1px solid #ccc; }
    .spacer { flex:1; }
    #count { opacity:.75; font-size:.85rem; }
    .filter-label { display:flex; align-items:center; gap:.3rem; cursor:pointer; font-size:.85rem; }
    #date-select { border:1px solid #ccc; background:#f0f0f2; color:#111; padding:.35rem .6rem; border-radius:.5rem; font-size:.85rem; }
    main { flex:1; padding:.5rem .8rem 2rem; }
    .summary { margin:.6rem 0; font-size:.85rem; color:#888; }
    table { width:100%; border-collapse:collapse; font-size:.85rem; }
    th { text-align:left; padding:.5rem .5rem; border-bottom:2px solid #ccc; color:#888; font-weight:600; position:sticky; top:0; background:#ffffff; cursor:pointer; user-select:none; white-space:nowrap; }
    th:hover { color:#111; }
    th .arrow { font-size:.7rem; margin-left:.2rem; }
    td { padding:.4rem .5rem; border-bottom:1px solid #eee; vertical-align:top; }
    tr:hover td { background:#f0f4ff; }
    .domain-sub { font-size:.75rem; color:#888; }
    .valid { color:#16a34a; }
    .found { color:#d97706; }
    .missing { color:#dc2626; }
    .muted { color:#888; }
    .contact-list { font-size:.8rem; color:#2563eb; word-break:break-all; }
    .note { font-size:.78rem; color:#888; }
    .note.warn { color:#d97706; }
    .note.bad { color:#dc2626; }
    .expires-ok { color:#16a34a; }
    .expires-warn { color:#d97706; }
    .expires-bad { color:#dc2626; }
    .expires-none { color:#888; font-style:italic; }
    .raw-toggle { font-size:.75rem; color:#2563eb; cursor:pointer; border:none; background:none; padding:0; text-decoration:underline; }
    pre.raw { background:#f5f5f7; border:1px solid #ddd; border-radius:6px; padding:8px; overflow:auto; color:#1e293b; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.8rem; margin:4px 0 0; max-height:300px; display:none; }
    .loading { text-align:center; padding:3rem; color:#888; }
