/* Sentinel uses the reference site's native CSS 3D geometry from reference.css. */
.preflight .sentinel { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
.preflight .split-head { align-items: end; }
.preflight .sentinel__figure { margin: 0; }
.preflight .sentinel__plate { isolation: isolate; }
.preflight .tn-gate { border: 0; padding: 0; background: none; color: inherit; cursor: pointer; font: inherit; }
.preflight .tn-gate:focus-visible { outline: 0; box-shadow: none; }
.preflight .tn-gate:focus-visible .tn-gate__ring,
.preflight .tn-gate[data-active="true"] .tn-gate__ring { filter: brightness(1.25); }
.preflight .tn-gate:focus-visible .tn-gate__label { outline: 2px solid var(--teal); outline-offset: 4px; }
.preflight .tn-gate[data-active="true"] .tn-gate__label { color: var(--gold); border-color: var(--gold); }
.preflight .tn-gate__ring { transition: filter .2s; }
.preflight .tn-gate__label { transition: color .2s, border-color .2s; }
.preflight .sentinel__live { display: flex; align-items: stretch; gap: 20px; min-width: 0; }
.preflight .sentinel__live-title { flex-wrap: wrap; gap: 8px; }
.preflight .sentinel__live-title > span:last-child { margin-left: auto; font-size: 10px; color: var(--muted); letter-spacing: .07em; }
.preflight-session-dot { width: 7px; height: 7px; background: var(--gold); box-shadow: 0 0 12px #f5c45135; display: inline-block; flex: none; }
.preflight .sentinel__total { min-width: 0; padding-block: 17px; }
.preflight .sentinel__total dd { font-size: clamp(30px, 3vw, 44px); }
.preflight .preflight-network dd { font: 500 clamp(13px, 1.2vw, 18px)/1.4 var(--font-mono); letter-spacing: -.04em; margin-top: 16px; overflow-wrap: anywhere; }
.preflight .sentinel__sub { font-size: 10px; }
.preflight .standing { gap: 10px; padding-block: 10px; }
.preflight .standing__name { font-size: 15px; }
.preflight .standing__count { font-size: 15px; }
.preflight .standing-bar { height: 5px; margin-bottom: 4px; gap: 2px; }
.preflight .standing-bar > span { flex-basis: 0; min-width: 0; transition: flex-grow .4s var(--ease-out); }
.preflight [data-preflight-bar="passed"] { background: var(--gold); }
.preflight [data-preflight-bar="action-needed"] { background: var(--magenta); }
.preflight [data-preflight-bar="waiting"] { background: repeating-linear-gradient(135deg, var(--seam-hover) 0 2px, transparent 2px 5px); box-shadow: inset 0 0 0 1px var(--seam-hover); }
.preflight-state-dot { display: inline-block; width: 9px; height: 9px; flex: none; border: 1px solid var(--seam-hover); }
.preflight-state-dot[data-tone="passed"] { background: var(--gold); border-color: var(--gold); }
.preflight-state-dot[data-tone="action-needed"] { border-color: var(--magenta); background: #ff4fa314; }
.preflight-state-dot[data-tone="waiting"] { background: repeating-linear-gradient(135deg, var(--muted) 0 1px, transparent 1px 3px); }
.preflight-detail { min-height: 100px; border-top: 1px solid var(--seam); padding-top: 16px; }
.preflight-detail__index { font: 500 10px/1.4 var(--font-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.preflight-detail h4 { color: var(--bright); font: 700 16px/1.3 var(--font-display); margin: 7px 0 6px; }
.preflight-detail > p:last-child { color: var(--muted); font-size: 13px; line-height: 1.55; }
.preflight-actions { display: grid; gap: 13px; margin-top: auto; }
.preflight-actions .btn { width: 100%; justify-content: space-between; }
.preflight .sentinel__asof { font-size: 10px; line-height: 1.6; }
.preflight .gates { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.preflight .gate { padding: 0; min-width: 0; }
.preflight-check { position: relative; display: flex; flex-direction: column; height: 100%; width: 100%; padding: clamp(17px, 1.8vw, 25px); border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: background .2s; }
.preflight-check:hover { background: #c9d1dc06; }
.preflight-check[aria-selected="true"] { background: linear-gradient(160deg, #f5c4510c, transparent 70%); }
.preflight-check[aria-selected="true"]::before { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: var(--iri-line); }
.preflight-check .gate__num { width: 100%; }
.preflight-check .gate__title { display: block; font-size: clamp(16px, 1.3vw, 19px); }
.preflight-check .gate__body { display: block; font-size: 13px; line-height: 1.55; }
.preflight-check__result { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: auto; padding-top: 20px; font: 500 10px/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.preflight-check__result i { width: 6px; height: 6px; border: 1px solid currentColor; flex: none; }
.preflight-check__result svg { width: 14px; height: 14px; margin-left: auto; transition: transform .2s; }
.preflight-check:hover .preflight-check__result svg { transform: translateX(3px); }
.preflight-check[data-state="passed"] .preflight-check__result { color: var(--gold); }
.preflight-check[data-state="passed"] .preflight-check__result i { background: currentColor; }
.preflight-check[data-state="action-needed"] .preflight-check__result { color: var(--magenta); }
.preflight[data-preflight-idle] .tn-bot,
.preflight[data-preflight-idle] .tn-bot__face::after { animation-play-state: paused; }
@media (max-width: 1180px) {
  .preflight .sentinel { grid-template-columns: minmax(0, 1fr); }
  .preflight .sentinel__live { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 32px; }
  .preflight .sentinel__live-title { grid-column: 1 / -1; }
  .preflight .sentinel__totals { align-self: start; }
  .preflight .preflight-standing { grid-row: span 2; }
  .preflight-detail { grid-column: 1; }
  .preflight-actions { grid-column: 1 / -1; grid-template-columns: minmax(180px, 1fr) minmax(0, 1fr); align-items: center; gap: 32px; }
  .preflight .gates { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .preflight .gate { border-top: 0; }
  .preflight .gate + .gate { border-left: 1px solid var(--seam); }
  .preflight .gate:last-child { grid-column: auto; }
}
@media (max-width: 760px) {
  .preflight .gates { grid-template-columns: minmax(0, 1fr); }
  .preflight .gate + .gate { border-left: 0; border-top: 1px solid var(--seam); }
  .preflight-check { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 4px 12px; padding: 17px 18px; }
  .preflight-check .gate__num { grid-row: span 2; margin-top: 2px; font-size: 12px; }
  .preflight-check .gate__num::after { display: none; }
  .preflight-check .gate__title { margin: 0; font-size: 16px; }
  .preflight-check .gate__body { grid-column: 2 / -1; margin-top: 0; font-size: 12px; }
  .preflight-check__result { grid-column: 3; grid-row: 1; padding: 0; margin-top: 2px; width: auto; align-self: start; font-size: 9px; white-space: nowrap; }
  .preflight-check__result svg { display: none; }
}
@media (max-width: 640px) {
  .preflight .sentinel__live { display: flex; gap: 18px; }
  .preflight .sentinel__totals { align-self: stretch; }
  .preflight .sentinel__lab--tr { display: flex; font-size: 9px; gap: 5px; }
  .preflight .sentinel__lab--tl { font-size: 9px; }
  .preflight .sentinel__lab { top: 13px; }
  .preflight .sentinel__lab--tl { left: 12px; }
  .preflight .sentinel__lab--tr { right: 12px; }
  .preflight .sentinel-sw { width: 7px; height: 7px; }
  .preflight .sentinel__figure figcaption { font-size: 12px; }
  .preflight .sentinel__total dd { font-size: 34px; }
  .preflight .preflight-network dd { font-size: 17px; }
  .preflight-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .preflight-detail { min-height: 92px; }
}
@media (max-width: 380px) {
  .preflight .sentinel__lab--tr { display: none; }
  .preflight-check { grid-template-columns: 27px minmax(0, 1fr) auto; gap: 5px 9px; padding-inline: 14px; }
  .preflight-check__result { font-size: 8px; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .preflight .tn-bot, .preflight .tn-bot__face::after { animation: none; }
}
