/* Shared compositions built from the existing KSE tokens and controls. */
.pilot-page { max-width: 76rem; margin-inline: auto; }
.pilot-heading { max-width: 60rem; }
.pilot-empty { max-width: 58rem; }
.pilot-status { margin: 0; }
.pilot-ready { color: var(--success); background: var(--success-soft); }
.pilot-neutral { color: var(--muted); background: var(--surface-subtle); border: 1px solid var(--border); }
.pilot-card-head, .pilot-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
.pilot-card-head { justify-content: space-between; margin-bottom: var(--space-3); }
.pilot-card-head h2, .pilot-card-head h3 { margin: 0; }
.pilot-actions { margin-top: var(--space-4); }
.pilot-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--space-3); margin: var(--space-4) 0; }
.pilot-facts dt { font-size: .8125rem; color: var(--muted); }
.pilot-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.pilot-details { margin-block: var(--space-4); }
.pilot-details summary { min-height: 2.75rem; cursor: pointer; padding-block: .6rem; }
.pilot-form { max-width: 48rem; }
.pilot-form fieldset { min-width: 0; margin-block: var(--space-5); }
.pilot-form .helptext { display: block; color: var(--muted); font-size: .875rem; }
.pilot-form input[type=file] { max-width: 100%; }
.pilot-table-wrap { overflow-x: auto; }
.pilot-proof { max-width: 20rem; max-height: 18rem; object-fit: contain; }
.pilot-pagination { justify-content: space-between; }
.provider-section { margin-block: var(--space-6); scroll-margin-top: var(--space-4); }
.provider-section > h2 { margin-bottom: var(--space-3); }
.provider-rate { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.provider-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr)); gap: var(--space-4); }
.provider-grid > .card { margin: 0; }
.pilot-notes { white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 40rem) {
  .pilot-actions > .button, .pilot-actions > button { flex: 1 1 12rem; text-align: center; }
  .pilot-card-head { align-items: flex-start; }
  .pilot-form { width: 100%; }
  .pilot-facts { grid-template-columns: 1fr; }
}

.offline-readiness{font-size:.85rem;color:#365b43}[data-offline-state="warning"]{color:#805728}
