.ves-report{--ves-r-ink:#111827;--ves-r-muted:#64748b;--ves-r-line:#e5e7eb;--ves-r-bg:#fff;--ves-r-soft:#f8fafc;--ves-r-blue:#3A61E1;--ves-r-green:#15803d;--ves-r-red:#F15D31;background:var(--ves-r-bg);border:1px solid var(--ves-r-line);border-radius:24px;padding:24px;color:var(--ves-r-ink);box-shadow:0 18px 45px rgba(15,23,42,.06);font-family:inherit}.ves-report *{box-sizing:border-box}.ves-report h2{font-size:clamp(24px,3vw,40px);line-height:1.02;margin:6px 0 8px;letter-spacing:-.04em}.ves-report h3{font-size:13px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ves-r-muted)}.ves-report p{margin:0;color:var(--ves-r-muted);line-height:1.55}.ves-report-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ves-r-muted);font-weight:700}.ves-report-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.ves-report-score{min-width:136px;border:1px solid var(--ves-r-line);border-radius:18px;padding:16px;text-align:center;background:var(--ves-r-soft)}.ves-report-score strong{display:block;font-size:38px;line-height:1}.ves-report-score span{font-size:11px;color:var(--ves-r-muted);text-transform:uppercase;letter-spacing:.08em}.ves-report-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.ves-report-badge{display:inline-flex;border:1px solid var(--ves-r-line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;background:var(--ves-r-soft)}.ves-report-badge.is-blue{color:var(--ves-r-blue)}.ves-report-badge.is-green{color:var(--ves-r-green)}.ves-report-badge.is-red{color:var(--ves-r-red)}.ves-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ves-report-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ves-report-grid article,.ves-report-card,.ves-report-flow article{border:1px solid var(--ves-r-line);border-radius:18px;padding:16px;background:var(--ves-r-soft)}.ves-report-list{margin:0;padding-left:18px;color:var(--ves-r-ink)}.ves-report-list li{margin:7px 0;line-height:1.45}.ves-report-muted{color:var(--ves-r-muted)}.ves-report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.ves-report-card strong{display:block;margin-bottom:8px}.ves-report-card small{display:block;margin-top:10px;color:var(--ves-r-muted)}.ves-report-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.ves-report-flow span{display:block;color:var(--ves-r-muted);font-weight:800;margin-bottom:8px}.ves-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ves-report-actions button{border:1px solid var(--ves-r-line);background:var(--ves-r-ink);color:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.ves-report-empty{border-color:#E4DDC9;background:#FAF9F6}.ves-report-empty h2{font-size:28px}@media(max-width:820px){.ves-report{padding:18px;border-radius:20px}.ves-report-hero{display:block}.ves-report-score{margin-top:14px}.ves-report-grid,.ves-report-grid.two,.ves-report-cards,.ves-report-flow{grid-template-columns:1fr}}
/* v0.9.31.6: visually-hidden heading utility used by curated report templates to
   give aria-labelledby a real target when no visible title override is provided. */
.ves-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* v0.9.31.6: curated report templates already manage their own internal styles
   under a scoped wrapper; reset the host .ves-report frame so the curated CSS
   does not fight the generic report card. */
.ves-report.ves-report-curated{padding:0;background:transparent;border:0;box-shadow:none;border-radius:var(--border-radius-lg,18px);overflow:hidden}
.ves-report-curated .ves-report-curated-title{font-size:clamp(20px,2.5vw,28px);line-height:1.1;letter-spacing:-.04em;margin:0 0 .75rem;padding:1rem 1.25rem 0;color:var(--color-text-primary)}
