#vs-form [hidden] { display: none !important; }
#vs-form, .vs-content { min-width: 0; max-width: 100%; }
#vs-form .total-box strong { font-size: 1.1rem; overflow-wrap: anywhere; }
.vs-scroll { width: 100%; max-width: 100%; overflow-x: auto; margin: 12px 0; }
.vs-scroll:focus-visible { outline: 2px solid var(--brand); }
.vs-matrix { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 1400px; font-size: .9rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.vs-matrix caption { text-align: left; font-weight: 600; padding: 8px 0; }
.vs-matrix th, .vs-matrix td { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 8px; text-align: center; vertical-align: middle; }
.vs-matrix thead th { background: var(--soft); min-width: 70px; }
.vs-matrix tr > th:first-child { position: sticky; left: 0; z-index: 1; background: var(--soft); min-width: 150px; max-width: 180px; width: 180px; text-align: left; overflow-wrap: anywhere; }
.vs-matrix td.vs-flu { color: var(--bad); }
.vs-results { min-width: 700px; }
.vs-results tbody th { width: 15%; }
.vs-results td:nth-child(2) { width: 23%; }
.vs-results td:nth-child(3) { width: 35%; }
.vs-results p { margin: 0 0 12px; }
.vs-results p:last-child { margin-bottom: 0; }
.vs-results .vs-past { color: var(--muted); background: var(--soft); }
.vs-results .vs-next > * { border-top: 3px solid var(--brand); border-bottom: 3px solid var(--brand); }
.vs-notes { padding-left: 1.5em; }
.vs-notes li { margin-bottom: 12px; }
