/* Email authentication report. */
.verdict { display:flex; align-items:center; gap:1rem; padding:1rem 1.1rem; margin-top:1rem;
           border-radius:var(--radius); border:1px solid var(--border-solid); background:var(--bg-card); }
.verdict .grade { font-size:2.1rem; font-weight:800; line-height:1; width:2.4rem; text-align:center; }
.verdict .summary { color:var(--text-dim); }
.verdict-A .grade { color:var(--ok); }
.verdict-B .grade { color:var(--ok); }
.verdict-C .grade { color:var(--pending); }
.verdict-F .grade { color:var(--critical, #e2574c); }

.auth-section { margin-top:1.6rem; padding-block:0; }
.auth-section > h2 { font-size:1.05rem; margin:0 0 .5rem; letter-spacing:.02em; text-transform:uppercase; color:var(--text-dim); }
.auth-section pre { margin:.4rem 0 .9rem; }
.auth-section .absent { color:var(--text-faint); font-style:italic; margin:.2rem 0 .9rem; }

.finding { padding:.7rem .9rem; border-radius: var(--radius); border:1px solid var(--border-solid);
           background:var(--bg-card); margin-bottom:.55rem; border-left-width:3px; }
.finding h3 { margin:0 0 .25rem; font-size:.97rem; }
.finding .detail { margin:0; color:var(--text-dim); font-size:.9rem; line-height:1.5; }
.finding .fix { margin:.4rem 0 0; font-size:.9rem; color:var(--text); }
.finding-pass { border-left-color:var(--ok); }
.finding-warning { border-left-color:var(--pending); }
.finding-problem { border-left-color:#e2574c; }

.chain { width:100%; border-collapse:collapse; font-family:var(--mono); font-size:.82rem; min-width:34rem; }
.chain th, .chain td { padding:.4rem .7rem; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
.chain th { font-family:var(--sans); font-size:.75rem; text-transform:uppercase; color:var(--text-dim); }
.chain td.mech { color:var(--brand-bright); }
.chain tr:last-child td { border-bottom:0; }
.chain-note { font-size:.85rem; color:var(--text-dim); margin:.5rem 0 0; }
.selector { font-family:var(--mono); font-size:.85rem; color:var(--text-dim); margin:.2rem 0; word-break:break-all; }

/* A published SPF record is one long unbroken line and will push the whole
 * document sideways if it is allowed to size its container. It must scroll
 * inside itself, and min-width:0 is the part that actually does it — a flex or
 * grid child defaults to min-content width, so overflow-x alone is ignored. */
.auth-section pre {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}
#results { min-width: 0; }
.tool > #results { max-width: 100%; }
