:root {
  color-scheme: light dark;
  --surface: light-dark(#f2f5f0, #18241e);
  --paper: light-dark(#ffffff, #202f27);
  --ink: light-dark(#1d2a23, #e6eee7);
  --muted: light-dark(#526158, #aabbb0);
  --edge: light-dark(#cfd8cf, #42564a);
  --input: light-dark(#77877a, #75917e);
  --line: light-dark(#dfe7df, #374a3e);
  --green: light-dark(#245d43, #a1d8b4);
  --on-green: light-dark(#ffffff, #152b20);
  --green-soft: light-dark(#dfeee2, #2d4a39);
  --red: light-dark(#a02f29, #ffc3ba);
  --on-red: light-dark(#ffffff, #451712);
  --red-soft: light-dark(#f9e4df, #482a26);
  --amber: light-dark(#704812, #f4d4a0);
  --amber-soft: light-dark(#f6ecd8, #433723);
  --radius: 12px;
  font: 1rem/1.5 "Segoe UI", system-ui, sans-serif;
  color: var(--ink);
  background: var(--surface);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
h1, h2, h3, p, fieldset, dl { margin: 0; }
h1, h2, h3 { line-height: 1.2; overflow-wrap: anywhere; }
h1 { font-size: 2rem; letter-spacing: -.035em; text-wrap: balance; }
h2 { font-size: 1.125rem; }
h3 { font-size: .9375rem; }
a { color: var(--green); text-underline-offset: 3px; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
small, .muted { color: var(--muted); }
small { font-size: .8125rem; font-weight: 400; }
.screen-reader { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
p { overflow-wrap: anywhere; }
.prewrap { white-space: pre-wrap; }
.shell { width: min(100%, 1280px); margin-inline: auto; padding-inline: clamp(14px, 3vw, 36px); }
main.shell { padding-block: clamp(24px, 4vw, 44px) 56px; }
main.narrow { max-width: 555px; }
main.guest { max-width: 780px; }
.footer { max-width: 780px; padding-bottom: 32px; font-size: .875rem; }
.skip-link {
  position: absolute; z-index: 3; top: 8px; left: 8px; padding: 8px 12px;
  background: var(--paper); border: 1px solid var(--input); transform: translateY(-160%);
}
.skip-link:focus { transform: none; }

.site-header { background: var(--paper); border-bottom: 1px solid var(--edge); }
.masthead { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; min-height: 72px; padding-block: 10px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; margin-right: auto; min-width: 0; }
.brand strong { display: block; font-size: 1.25rem; line-height: 1.1; letter-spacing: -.025em; }
.brand small { display: block; margin-top: 2px; }
.mark {
  display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px;
  border-radius: 10px; background: var(--green); color: var(--on-green);
  font-weight: 700; font-size: .875rem;
}
nav { display: flex; flex-wrap: wrap; gap: 4px; }
nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 7px 11px;
  border-radius: 7px; color: var(--ink); font-size: .9375rem; font-weight: 600; text-decoration: none;
}
nav a[aria-current="page"], nav a:hover { color: var(--green); background: var(--green-soft); }

.page-head, .actions, .period, .schedule-head, .inbox-item > header {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
}
.page-head { margin-bottom: 24px; align-items: flex-end; }
.page-head > div:first-child { min-width: 0; }
.page-head p { margin-top: 6px; color: var(--muted); max-width: 68ch; }
.actions { justify-content: flex-start; }
.checklist-heading { justify-content: space-between; }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px;
  max-width: 100%; padding: 8px 13px; border: 1px solid var(--input); border-radius: 8px;
  color: var(--ink); background: var(--paper); font-weight: 600; text-decoration: none;
  text-align: center; cursor: pointer; touch-action: manipulation;
}
.button:hover { background: var(--green-soft); }
.button:active { opacity: .82; }
.button.primary { border-color: var(--green); color: var(--on-green); background: var(--green); }
.button.primary:hover { background: color-mix(in srgb, var(--green) 88%, var(--ink)); }
.button.quiet { background: transparent; border-color: transparent; color: var(--green); }
.button.quiet:hover { background: var(--green-soft); }
.button.caution { border-color: var(--red); color: var(--red); background: var(--red-soft); }
.button.caution:hover { box-shadow: inset 0 0 0 1px var(--red); }
.badge, .count {
  display: inline-block; width: fit-content; border-radius: 6px; padding: 3px 8px;
  font-size: .8125rem; font-weight: 650;
}
.count, .badge.good { color: var(--green); background: var(--green-soft); }
.badge.warning { color: var(--amber); background: var(--amber-soft); }
.badge.muted { background: var(--surface); color: var(--muted); border: 1px solid var(--edge); }

.panel, .empty, .notice, .schedule-scroll, .table-scroll {
  background: var(--paper); border: 1px solid var(--edge); border-radius: var(--radius);
}
.panel, .empty, .notice { padding: clamp(14px, 2.4vw, 22px); }
.panel > p, .panel > div > h2 + p, .inbox-item h2 + p { margin-top: 5px; }
.notice { margin-bottom: 16px; background: var(--amber-soft); color: var(--amber); }
.notice h2 { color: inherit; }
.notice ul { margin: 8px 0 0; padding-inline-start: 22px; }
.notice li + li { margin-top: 6px; }
.notice p + .button, .notice ul + p { margin-top: 10px; }
.notice.danger { background: var(--red-soft); color: var(--red); border-color: var(--red); }
.notice.danger a { color: inherit; font-weight: 650; }
.notice.success { background: var(--green-soft); color: var(--green); }
.crumb { margin-bottom: 14px; font-size: .9375rem; }
.flow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }

.period { padding-block: 4px 12px; margin-bottom: 8px; border-block-end: 1px solid var(--edge); }
.plan-views { margin-bottom: 10px; }
.plan-views [aria-current="page"] { background: var(--green-soft); color: var(--green); border-color: var(--green); }
.period .actions { gap: 3px; }
.date-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.date-jump label { font-weight: 600; }
.date-jump input { width: auto; }
.schedule-head { margin: 16px 0 10px; }
.schedule-head h2 { font-variant-numeric: tabular-nums; }
.legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: .875rem; }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.key { width: 14px; height: 10px; border-radius: 3px; }
.booked { background: var(--green); color: var(--on-green); }
.example { background: var(--amber-soft); color: var(--amber); }
.key.example { border: 1px solid var(--amber); }
.overlap { background: var(--red); color: var(--on-red); }
.clashes li span { display: block; }
.schedule-scroll, .table-scroll { overflow: auto; }
.schedule { --area-width: 166px; --slot-height: 36px; min-width: 930px; }
.schedule.month { min-width: calc(var(--area-width) + var(--days) * 33px); }
.schedule-row { display: grid; grid-template-columns: var(--area-width) minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.schedule-row:last-child { border-bottom: 0; }
.area-label, .row-heading > span {
  position: sticky; left: 0; z-index: 1; background: var(--paper);
  padding: 6px 12px; display: flex; align-items: center; font-size: .875rem;
}
.area-label { border-right: 1px solid var(--line); }
.row-heading { background: var(--surface); border-block: 1px solid var(--line); }
.row-heading > span { width: var(--area-width); background: var(--surface); color: var(--muted); font-size: .8125rem; font-weight: 700; }
.dates { display: grid; grid-template-columns: repeat(var(--days, 14), minmax(0, 1fr)); text-align: center; }
.dates time { display: grid; color: var(--muted); border-right: 1px solid var(--line); padding: 6px 0; font-size: .75rem; }
.dates strong { color: var(--ink); font-variant-numeric: tabular-nums; font-size: .8125rem; }
.dates .weekend { background: var(--surface); }
.axis .area-label { color: var(--muted); font-weight: 600; }
.track {
  min-height: calc(var(--lanes) * var(--slot-height)); position: relative;
  background: repeating-linear-gradient(to right, transparent 0 calc(100% / var(--days, 14) - 1px), var(--line) calc(100% / var(--days, 14) - 1px) calc(100% / var(--days, 14)));
}
.slot {
  position: absolute; top: calc(4px + var(--lane) * var(--slot-height)); left: var(--left); width: var(--width);
  min-width: 4px; height: 28px; border-radius: 5px; padding: 3px min(7px, var(--width));
  font-size: .8125rem; line-height: 22px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap;
  overflow: hidden; text-decoration: none;
}
.slot:hover { filter: brightness(1.11); }
.slot.example { border: 1px solid var(--amber); padding-top: 2px; }
.slot:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; }
.slot-warning { display: inline-block; margin-right: 3px; }
.list-section { margin-top: 24px; }
.list-section > h2 { margin-bottom: 10px; }
.data-table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; font-size: .9375rem; }
.data-table th, .data-table td { padding: 11px 14px; border-bottom: 1px solid var(--line); }
.data-table thead th { font-size: .8125rem; color: var(--muted); }
.data-table tbody tr:last-child > * { border-bottom: 0; }
.data-table th small { display: block; }
.billing-grid { margin-top: 12px; }
.billing-table input { width: 100%; min-width: 72px; }
.billing-table input[name="line-title"], .billing-table input[name^="title-"] { min-width: 170px; }
.billing-table .check { justify-content: center; }
.billing-amount { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.billing-totals { margin-top: 16px; }

.booking-layout.with-side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 265px); gap: 18px; align-items: start; }
.booking-layout:not(.with-side) { max-width: 850px; }
.booking-side .side-row { display: grid; justify-items: start; gap: 7px; padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--line); }
.protocol-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 18px; align-items: start; }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 16px; margin-top: 14px; }
.field { display: grid; gap: 4px; font-weight: 600; min-width: 0; }
.field.wide { grid-column: 1 / -1; }
.status-field { margin-top: 14px; max-width: 230px; }
input:not([type="checkbox"]):not([type="hidden"]), textarea, select {
  min-width: 0; min-height: 44px; padding: 8px 9px; border: 1px solid var(--input); border-radius: 7px;
  background: var(--paper); color: var(--ink); font-size: 1rem; font-weight: 400;
}
.field input, .field textarea, .field select, .meter-line input, .meter-input input { width: 100%; }
input[type="number"] { font-variant-numeric: tabular-nums; }
input[aria-invalid="true"] { border-color: var(--red) !important; }
textarea { resize: vertical; }
.compact-input { max-width: 110px; }
fieldset { min-width: 0; border: 0; padding: 0; }
legend { padding: 0; margin-bottom: 4px; font-weight: 650; }
.resource-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.check { display: flex; align-items: center; min-height: 44px; gap: 9px; font-size: .9375rem; cursor: pointer; }
.check input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--green); }
.request-areas > fieldset { margin-top: 16px; }
.request-areas legend { margin-bottom: 3px; }
.request-areas [hidden] { display: none; }
.sleep-choice { margin: 8px 0 12px; }
.sleep-choice legend { font-size: .9375rem; }
.sleep-choice p, #request-unit-suggestion { font-size: .875rem; }
.unit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 7px; }
.unit-tile {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 4px 7px; min-width: 0; min-height: 54px; padding: 9px 11px;
  background: var(--paper); border: 1px solid var(--input); border-radius: 8px; cursor: pointer;
}
.unit-tile:has(input:enabled):hover { border-color: var(--green); }
.unit-tile:has(input:checked:enabled) { background: var(--green-soft); border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.unit-tile:has(input:disabled) {
  background: light-dark(#ededed, #303030); border-color: var(--edge); color: var(--muted); cursor: not-allowed;
}
.unit-tile:has(input:disabled) .badge { background: transparent; color: inherit; }
.unit-name { grid-column: 1 / -1; font-weight: 600; font-size: .9375rem; overflow-wrap: anywhere; }
.unit-tile input { grid-area: 2 / 2; width: 18px; height: 18px; margin: 0; accent-color: var(--green); }
.unit-tile .badge { grid-area: 2 / 1; }
#request-unit-suggestion:not(:empty) { margin-bottom: 12px; }
.request-option {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 12px; min-height: 54px; padding: 8px 0; cursor: pointer;
}
.request-option + .request-option { border-top: 1px solid var(--line); }
.request-option-copy { display: grid; gap: 2px; min-width: 0; }
.request-option-title { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 9px; }
.request-option-title strong { font-weight: 600; }
.request-option input[type="checkbox"] { width: 19px; height: 19px; margin: 0 10px; accent-color: var(--green); }
.request-bed-count:not(:empty) { margin-top: 12px; font-weight: 600; }

.hut-calendar { margin-bottom: 16px; }
.hut-calendar [hidden] { display: none; }
.calendar-search { display: grid; grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); align-items: end; gap: 12px; max-width: 440px; margin-top: 14px; }
#calendar-search-status { margin-top: 7px; font-size: .875rem; }
.calendar-controls { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 8px; max-width: 350px; margin-block: 14px; }
.calendar-controls .button { padding: 8px; }
.calendar-controls .button:disabled { opacity: .55; cursor: default; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.calendar-weekdays { margin-bottom: 5px; text-align: center; color: var(--muted); font-size: .8125rem; }
.calendar-day {
  position: relative; display: grid; align-content: center; gap: 1px; min-width: 0; min-height: 50px; padding: 3px 1px;
  border: 1px solid var(--edge); border-radius: 7px; background: var(--paper); color: var(--ink);
  font-size: .9375rem; font-weight: 650; text-align: center; cursor: pointer; touch-action: manipulation;
}
.calendar-day:hover { border-color: var(--green); }
.calendar-day:focus-visible { outline-offset: 1px; z-index: 1; }
.calendar-free {
  display: flex; flex-wrap: wrap; justify-content: center; column-gap: 5px;
  color: var(--green); font-size: .75rem; font-weight: 400; white-space: nowrap;
}
.calendar-day[data-availability="partial"] .calendar-free { color: var(--amber); }
.calendar-day[data-availability="full"] { background: var(--red-soft); }
.calendar-day[data-availability="full"] .calendar-free { color: var(--red); }
.calendar-day.in-range { border-color: var(--green); }
.calendar-day.is-match { border-color: var(--green); background: var(--green-soft); }
.calendar-day.is-match::after {
  content: ""; position: absolute; top: 4px; right: 5px; width: 5px; height: 9px;
  border: solid var(--green); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.calendar-day[aria-pressed="true"] { background: var(--green); border-color: var(--green); color: var(--on-green); }
.calendar-day[aria-pressed="true"] .calendar-free { color: inherit; }
.calendar-day[aria-pressed="true"]::after { border-color: currentColor; }
.calendar-selection:not(:empty) { margin-top: 12px; padding: 9px 12px; border-radius: 7px; background: var(--surface); font-size: .9375rem; }

.availability {
  padding: 13px 15px; background: var(--surface); border: 1px solid var(--edge); border-radius: 8px;
}
.availability [hidden] { display: none; }
.availability h3 + p { margin-top: 4px; }
.availability-counts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px;
  padding-block: 9px; margin-top: 10px; border-block: 1px solid var(--line);
}
.availability-counts > div { display: flex; flex-direction: column; justify-content: space-between; }
.availability-counts dt { color: var(--muted); font-size: .875rem; }
.availability-counts dd { margin: 2px 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.availability-areas {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px;
  padding: 0; margin: 10px 0 0; list-style: none;
}
.availability-areas li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; font-size: .875rem; }
.availability-selection:not(:empty) { padding: 9px 12px; border-radius: 7px; color: var(--green); background: var(--green-soft); }
.availability-selection.warning { color: var(--amber); background: var(--amber-soft); }

.prior { padding: 12px; background: var(--surface); border-radius: 8px; }
.prior p { margin-top: 4px; }
.meter-grid-head, .meter-line { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(54px, .55fr) minmax(100px, .8fr) minmax(66px, .62fr); gap: 8px; align-items: center; }
.meter-grid-head { margin-top: 14px; padding-block: 5px; color: var(--muted); font-size: .8125rem; font-weight: 600; }
.meter-line { padding-block: 8px; border-top: 1px solid var(--line); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.meter-line > div { overflow-wrap: anywhere; }
.meter-list:has(.meter-input) { margin-top: 14px; }
.meter-input {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(88px, 130px); align-items: center;
  gap: 8px; padding-block: 8px; border-top: 1px solid var(--line); font-weight: 600; overflow-wrap: anywhere;
}
.mobile-label { display: none; }
.invalid { color: var(--red); }

.shared-protocol { max-width: 760px; }
.shared-protocol .protocol-layout { grid-template-columns: minmax(0, 1fr); }
.protocol-share { margin-bottom: 16px; scroll-margin-top: 12px; }
.share-heading { justify-content: space-between; }
.protocol-form [hidden], .protocol-share [hidden], .protocol-editor [hidden] { display: none; }
.meter-media, .voice-item, .voice-preview { display: grid; gap: 7px; justify-items: start; }
.meter-media { padding-bottom: 14px; }
.meter-media .field { width: 100%; }
.protocol-form input[type="file"] { max-width: 100%; font-size: .875rem; }
.protocol-form input[type="file"]::file-selector-button {
  padding: 5px 8px; margin-inline-end: 7px; border: 0; border-radius: 4px;
  background: var(--green-soft); color: var(--green); cursor: pointer; font: inherit;
}
.attachment-link { display: grid; gap: 4px; justify-items: start; }
.protocol-photo { display: block; max-width: min(100%, 240px); max-height: 180px; border-radius: 6px; object-fit: contain; }
.protocol-form audio, .test-review audio { width: min(100%, 440px); min-width: 0; }
.voice-previews { display: grid; gap: 10px; }
.voice-previews:empty, #voice-status:empty, #protocol-save-status:empty { display: none; }
#voice-status { margin-top: 5px; }
.protocol-form button:disabled, .protocol-editor button:disabled { opacity: .55; cursor: default; }
.design-list ol { margin: 8px 0 12px; padding-inline-start: 22px; }
.design-row { border-top: 1px solid var(--line); padding-block: 9px; }
.design-row-fields.has-unit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(68px, 120px); gap: 8px; }
.design-rule { margin-top: 8px; }
.design-rule summary { min-height: 44px; padding-block: 9px; cursor: pointer; color: var(--green); }
.design-rule .resource-options { margin-top: 8px; }
.design-row-actions { margin-top: 6px; }
.design-row-actions .button { padding-inline: 8px; font-size: .875rem; }

.test-review summary { cursor: pointer; min-height: 44px; overflow-wrap: anywhere; }
.test-review summary small { display: block; margin-inline-start: 1rem; }
.test-review[open] summary { margin-bottom: 14px; }
.test-review h2 { margin-bottom: 7px; }
.test-comparison { min-width: 0; font-variant-numeric: tabular-nums; }
.test-comparison th, .test-comparison td { overflow-wrap: anywhere; }
.test-comparison td, .test-comparison thead th:not(:first-child) { text-align: right; }
.test-phase { border-top: 1px solid var(--line); padding-top: 12px; }
.test-phase h3 { margin-bottom: 5px; }
.test-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; }
.test-review .voice-item + .voice-item { margin-top: 8px; }
.test-checks { margin: 7px 0; padding-inline-start: 20px; }
.test-checks .badge { margin-inline-start: 6px; }

.inbox-item { display: grid; gap: 14px; justify-items: start; margin-bottom: 14px; }
.inbox-item > header { width: 100%; align-items: start; }
.inbox-item > header p { color: var(--muted); }
.inbox-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 36px; }
.inbox-details p { margin-top: 4px; }

@media (max-width: 850px) {
  .protocol-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 730px) {
  .booking-layout.with-side { grid-template-columns: minmax(0, 1fr); }
  .booking-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .booking-side > h2 { grid-column: 1 / -1; }
  .masthead { gap: 6px 12px; }
  .masthead nav { order: 3; width: 100%; }
  .schedule { --area-width: 126px; }
}
@media (max-width: 505px) {
  h1 { font-size: 1.75rem; }
  .page-head { gap: 12px; margin-bottom: 18px; }
  .fields, .inbox-details, .resource-options { grid-template-columns: minmax(0, 1fr); }
  .availability-areas { grid-template-columns: minmax(0, 1fr); }
  .shared-protocol .protocol-submit .primary { width: 100%; }
  .unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-weekdays, .calendar-days { gap: 3px; }
  .calendar-day.is-match::after { top: 2px; right: 3px; width: 4px; height: 7px; border-width: 0 1.5px 1.5px 0; }
  .date-jump { align-items: end; }
  .date-jump label { width: 100%; }
  .period .button { padding-inline: 6px; font-size: .875rem; }
  .meter-grid-head { display: none; }
  .meter-list:has(.meter-line) { margin-top: 14px; }
  .meter-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; }
  .meter-line h3 { grid-column: 1 / -1; }
  .mobile-label { display: block; margin-bottom: 3px; color: var(--muted); font-size: .8125rem; }
  .test-comparison, .test-comparison tbody { display: block; }
  .test-comparison thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .test-comparison tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
  .test-comparison tbody th { grid-column: 1 / -1; }
  .test-comparison tbody tr > * { border-bottom: 0; padding: 5px 4px; text-align: left; }
}
