:is([data-page="flight-status"], [data-page="travel-insurance"]) {
  --bs-danger-rgb: var(--danger-rgb);
  --bs-success-rgb: var(--success-rgb);
  --bs-form-invalid-color: var(--danger);
  --bs-form-invalid-border-color: var(--danger);
  --bs-form-valid-color: var(--success);
  --bs-form-valid-border-color: var(--success);
  background: var(--bg);
  color: var(--ink);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .page-hero {
  background: var(--band);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-card {
  background: var(--surface);
  border: 1px solid rgba(var(--blue-rgb), 0.08);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  overflow: hidden;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-ph-logo {
  width: 48px;
  height: 48px;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-icon-danger {
  background: rgba(var(--danger-rgb), 0.1);
  color: var(--danger);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .form-label {
  color: var(--ink-soft);
  font-size: 0.9rem;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .form-control,
:is([data-page="flight-status"], [data-page="travel-insurance"]) .form-select {
  min-height: 2.9rem;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .form-select:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px var(--ac-soft);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-alert {
  border-radius: 16px;
  padding: 1rem 1.25rem;
  border: 1px solid var(--ac-line);
  background: var(--ac-soft);
  color: var(--navy);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-alert-success {
  border-color: rgba(var(--success-rgb), 0.3);
  background: var(--success-soft);
  color: var(--success);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-alert-icon {
  font-size: 1.5rem;
  line-height: 1;
  color: var(--violet);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-alert-success .fs-alert-icon {
  color: var(--success);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-link {
  padding: 0;
  border: 0;
  background: none;
  color: var(--violet);
  font-weight: 600;
  text-decoration: underline;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-link:hover {
  color: var(--navy);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-status {
  flex-shrink: 0;
  padding: 0.4rem 0.9rem;
  border-radius: 12px;
  background: var(--navy);
  color: var(--surface);
  font-weight: 600;
  text-align: end;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-status.is-issued {
  background: var(--success);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-status small {
  display: block;
  font-weight: 400;
  font-size: 0.75rem;
  opacity: 0.85;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-checkin {
  border: 1px solid var(--ac-line);
  border-radius: var(--r-card);
  background: linear-gradient(135deg, var(--ac-soft) 0%, var(--surface) 100%);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-ref {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--ac-line);
  border-radius: 12px;
  background: var(--ac-soft);
  line-height: 1.2;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-checkin .fs-ref {
  background: var(--surface);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-ref small {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-ref strong {
  color: var(--violet);
  font-size: 1.05rem;
  letter-spacing: 0.04em;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-segment-head {
  border-bottom: 1px solid var(--border);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-head-icon {
  font-size: 1.25rem;
  color: var(--violet);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-leg + .fs-leg {
  border-top: 1px solid var(--border);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-badge {
  background: var(--violet);
  font-weight: 500;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-time {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--navy);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-line {
  position: relative;
  height: 2px;
  background: var(--ac-line);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-line :is(i, svg) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 0.4rem;
  background: var(--surface);
  color: var(--violet);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-layover {
  background: var(--bg);
  border-top: 1px dashed var(--ac-line);
  border-bottom: 1px dashed var(--ac-line);
  color: var(--ink-soft);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-card-title {
  margin: 0;
  padding: 1rem 1.25rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--navy);
  border-bottom: 1px solid var(--border);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side {
  border-top: 4px solid var(--violet);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side-accent {
  border-top-color: var(--indigo);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side .list-group-item {
  padding: 0.85rem 1.25rem;
  font-size: 0.92rem;
  color: var(--ink);
  border-color: var(--border);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side .list-group-item-action:hover,
:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side .list-group-item-action:focus {
  background: var(--ac-soft);
  color: var(--navy);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-side .list-group-item-action .fa-chevron-right {
  color: var(--violet);
  font-size: 0.8rem;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-eticket {
  border-top: 1px dotted var(--ac-line);
  color: var(--ink-soft);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-info {
  color: var(--ink-soft);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-info hr {
  border-color: var(--ac-line);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-error {
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: rgba(var(--danger-rgb), 0.1);
  color: var(--danger);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-modal {
  border: 0;
  border-radius: var(--r-card);
  box-shadow: var(--shadow-lg);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-modal .modal-header {
  border-bottom-color: var(--border);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-card-element {
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-digits {
  width: 170px;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: 0.4em;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-insurance {
  --bs-offcanvas-width: 100%;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-insurance .offcanvas-header {
  background: var(--band);
  color: var(--surface);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-insurance .offcanvas-title {
  color: var(--surface);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-insurance .offcanvas-body {
  background: var(--bg);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-csa {
  max-width: 80px;
  height: auto;
  align-self: flex-start;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-price {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--navy);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-coverage {
  padding-left: 1.25rem;
  color: var(--ink-soft);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-coverage li {
  padding: 0.2rem 0;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-coverage li::marker {
  color: var(--violet);
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-prefix {
  max-width: 130px;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc {
  padding-right: 3.25rem;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 34px 22px;
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="visa"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/visa.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="mastercard"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/mastercard.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="amex"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/amex.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="discover"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/discover.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="diners"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/diners.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-cc[data-card="jcb"] {
  background-image: url("https://cdn.jsdelivr.net/npm/payment-icons@1.2.1/min/flat/jcb.svg");
}

:is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-approval {
  color: var(--ac-line);
}

@media (min-width: 992px) {
  :is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-insurance {
    --bs-offcanvas-width: max(60%, 800px);
  }
}

@media (max-width: 575.98px) {
  :is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-status {
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
  }

  :is([data-page="flight-status"], [data-page="travel-insurance"]) .fs-time {
    font-size: 1rem;
  }
}
