body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; max-width: 900px; margin: 40px auto; color: #1a1a2e; font-size: 14px; line-height: 1.6; }
h1   { font-size: 28px; margin-bottom: 4px; }
.meta { color: #64748b; margin-bottom: 28px; font-size: 13px; }
.summary { display: flex; gap: 20px; margin-bottom: 32px; flex-wrap: wrap; }
.s-box   { padding: 18px 28px; border-radius: 12px; text-align: center; }
.s-box.score { background: #eff6ff; } .s-score { font-size: 52px; font-weight: 900; color: #1d4ed8; line-height: 1; }
.s-box.err   { background: #fef2f2; } .s-num.err  { font-size: 36px; font-weight: 800; color: #dc2626; line-height: 1; }
.s-box.warn  { background: #fffbeb; } .s-num.warn { font-size: 36px; font-weight: 800; color: #d97706; line-height: 1; }
.s-label { font-size: 12px; color: #64748b; margin-top: 6px; }
table  { width: 100%; border-collapse: collapse; font-size: 13px; }
th { background: #f8fafc; padding: 10px 12px; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #64748b; border-bottom: 2px solid #e2e8f0; }
td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; vertical-align: top; }
.badge-A  { background: #fef2f2; color: #dc2626; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 10px; }
.badge-AA { background: #eff6ff; color: #1d4ed8; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 10px; }
code { font-size: 11px; background: #f1f5f9; padding: 2px 5px; border-radius: 4px; }
footer { margin-top: 40px; text-align: center; color: #94a3b8; font-size: 12px; border-top: 1px solid #e2e8f0; padding-top: 16px; }
@media print { body { margin: 20px; } }
