/* ==========================================================================
   The site theme: Josh's palette, on every page.
   Near-black ground with a faint cyan glow, gradient panels, cyan primary
   buttons, dark fields with light text. Chosen by Josh, 6 Sept 2026, from
   four candidates. Every colour is a variable; tune those, not the rules.
   The body carries `theme-dark theme-original` (set server-side) so the
   rules below apply everywhere without a switch.
   ========================================================================== */
:root{
  --tn-ground:#053246;
  --tn-surface:#0b3d55;
  --tn-surface-2:#10485f;
  --tn-line:rgba(255,255,255,.14);
  --tn-line-strong:rgba(255,255,255,.28);
  --tn-ink:#e9f1f6;
  --tn-head:#d6e8f2;
  --tn-muted:#a9c0cd;
  --tn-accent:#3fb6ec;
  --tn-good:#8fd8ae;  --tn-good-bg:rgba(143,216,174,.13);
  --tn-warn:#f1c86e;  --tn-warn-bg:rgba(241,200,110,.13);
  --tn-bad:#f5a59e;   --tn-bad-bg:rgba(245,165,158,.13);
  --tn-field:#ffffff; --tn-field-ink:#14283a; --tn-field-line:#7a92a2;
  --tn-shadow:0 24px 60px rgba(0,0,0,.35);
}

/* Palettes. navy-card takes the defaults above. */
body.theme-original{
  --tn-ground:#071019; --tn-surface:#132030; --tn-surface-2:#1c2c3c;
  --tn-line:rgba(255,255,255,.12); --tn-line-strong:rgba(255,255,255,.28);
  --tn-ink:#f7fbff; --tn-head:#d8e7f0; --tn-muted:#a9bdcc; --tn-accent:#39c3ff;
  --tn-good:#36d48c; --tn-good-bg:rgba(54,212,140,.08);
  --tn-warn:#ffbd4a; --tn-warn-bg:rgba(255,189,74,.1);
  --tn-bad:#ff9a9e; --tn-bad-bg:rgba(213,34,40,.12);
  --tn-field:#0c1721; --tn-field-ink:#f7fbff; --tn-field-line:#374c5f;
  --tn-shadow:0 18px 45px rgba(0,0,0,.28);
}
/* Original-only: the glow, the gradients and the cyan primary from his file. */
body.theme-original,body.theme-original .application-start,body.theme-original .application-stage,
body.theme-original.nwadpe-embedded .shell,body.theme-original.nwadpe-embedded .layout{
  background:radial-gradient(circle at 85% 8%,rgba(0,159,227,.14),transparent 30rem),linear-gradient(180deg,#05090d 0%,#071019 100%)!important}
body.theme-original.nwadpe-embedded .wizard-frame,body.theme-original .start-card,body.theme-original .booking-card,body.theme-original .card,body.theme-original.nwadpe-embedded .wizard-issues__box{
  background:var(--tn-surface)!important;border-color:var(--tn-line)!important}
body.theme-original .next-button,body.theme-original .booking-submit,body.theme-original.nwadpe-embedded .wizard-button--primary,body.theme-original .card button,body.theme-original .card .btn{
  background:linear-gradient(135deg,#007eb7,#009fe3)!important;color:#fff!important;border-color:#009fe3!important}
body.theme-original.nwadpe-embedded .wizard-step-chip.is-current{background:linear-gradient(135deg,#007eb7,#009fe3);border-color:#009fe3;color:#fff}
body.theme-original.nwadpe-embedded .wizard-step-chip.is-current .wizard-step-chip__ring{--ring:#ffb3ae}
body.theme-original.nwadpe-embedded .subhead{color:#39c3ff!important;border-bottom:1px dashed #324858!important}
body.theme-original.nwadpe-embedded .section-title h2{color:#39c3ff!important}
body.theme-original.nwadpe-embedded .route-seq,body.theme-original.nwadpe-embedded .approach-seq{background:#009fe3!important;color:#04283a!important}

/* ---------------------------------------------------------------- ground --
   Shared by both candidates. */
body.theme-dark{background:var(--tn-ground)!important;color:var(--tn-ink)}
body.theme-dark .application-start,
body.theme-dark .application-stage,
body.theme-dark.nwadpe-embedded .shell,
body.theme-dark.nwadpe-embedded .layout{background:var(--tn-ground)!important}
/* The wing photo fades into the ground instead of ending on a hard edge. */
body.theme-dark .schedule-hero,
body.theme-dark.nwadpe-embedded .hero{
  background-image:linear-gradient(rgba(1,48,69,.86) 0%,rgba(1,48,69,.9) 55%,var(--tn-ground) 100%),url('/assets/wing-of-plane-scaled.jpg')!important}
/* Utility pages (result, cancel, reconfirm) put their title outside the card. */
body.theme-dark .wrap>h1{color:#fff}
body.theme-dark .wrap>.sub{color:var(--tn-muted)}

/* ------------------------------------------------------------- navy card --
   Surfaces. */
body.theme-dark .start-card,body.theme-dark .booking-card,body.theme-dark .card,
body.theme-dark.nwadpe-embedded .wizard-frame,body.theme-dark.nwadpe-embedded .wizard-issues__box{
  background:var(--tn-surface)!important;color:var(--tn-ink)!important;border:1px solid var(--tn-line)!important;box-shadow:var(--tn-shadow)!important}
body.theme-dark.nwadpe-embedded .section,body.theme-dark.nwadpe-embedded .section-body,
body.theme-dark.nwadpe-embedded .field,body.theme-dark.nwadpe-embedded .field-label{color:var(--tn-ink)!important}
/* Nested panels: one step lighter than the card. */
body.theme-dark.nwadpe-embedded .check,body.theme-dark.nwadpe-embedded .hour-card,body.theme-dark.nwadpe-embedded .prep-card,
body.theme-dark.nwadpe-embedded .mx-panel,body.theme-dark.nwadpe-embedded .xc-panel,body.theme-dark.nwadpe-embedded .approach-table,
body.theme-dark.nwadpe-embedded .endorsement-card,body.theme-dark.nwadpe-embedded .check-details,
body.theme-dark.nwadpe-embedded .metric,body.theme-dark.nwadpe-embedded .xc-metric,body.theme-dark.nwadpe-embedded .mx-result-grid,
body.theme-dark.nwadpe-embedded .mx-result,body.theme-dark.nwadpe-embedded .route-row,body.theme-dark.nwadpe-embedded .approach-row,
body.theme-dark.nwadpe-embedded .commercial-route-row,body.theme-dark.nwadpe-embedded .training-route-row,
body.theme-dark.nwadpe-embedded .route-leg,body.theme-dark.nwadpe-embedded .approach-leg,body.theme-dark.nwadpe-embedded .route-distance,
body.theme-dark.nwadpe-embedded .route-static-cell,body.theme-dark.nwadpe-embedded .xc-panel-head,
body.theme-dark.nwadpe-embedded .maintenance-panel__toggle,body.theme-dark.nwadpe-embedded .endorsement-card summary,
body.theme-dark.nwadpe-embedded .endorsement-example,body.theme-dark.nwadpe-embedded .check-details .details-body,
body.theme-dark.nwadpe-embedded .review-facts,body.theme-dark.nwadpe-embedded .computed-note,
body.theme-dark.nwadpe-embedded .approach-validation-note,body.theme-dark.nwadpe-embedded .xc-database-note,
body.theme-dark.nwadpe-embedded #experience .basis-note,body.theme-dark.nwadpe-embedded #aircraft .mx-intro,
body.theme-dark.nwadpe-embedded .cite-note,body.theme-dark.nwadpe-embedded .basis-note,body.theme-dark.nwadpe-embedded .route-footnote,
body.theme-dark.nwadpe-embedded #documents>.section-body>.grid,
body.theme-dark .qualification-next-note,body.theme-dark .start-notice,body.theme-dark .booking-notice,
body.theme-dark .booking-slot,body.theme-dark .booking-month,body.theme-dark .booking-empty{
  background:var(--tn-surface-2)!important;color:var(--tn-ink)!important;border-color:var(--tn-line)!important}
body.theme-dark.nwadpe-embedded .maintenance-panel__toggle[aria-expanded="true"]{border-bottom-color:var(--tn-line)!important}
body.theme-dark.nwadpe-embedded .maintenance-panel__icon{background:transparent!important;border-color:var(--tn-line-strong)!important;color:var(--tn-ink)!important}
body.theme-dark.nwadpe-embedded .route-seq,body.theme-dark.nwadpe-embedded .approach-seq{background:#fff!important;color:var(--tn-ground)!important}
body.theme-dark.nwadpe-embedded .departure-route-row .approach-seq{background:var(--tn-accent)!important;color:var(--tn-ground)!important}
body.theme-dark.nwadpe-embedded #documents .check,body.theme-dark.nwadpe-embedded #documents .check-grid,
body.theme-dark.nwadpe-embedded .section-head,body.theme-dark.nwadpe-embedded .wizard-actions,
body.theme-dark.nwadpe-embedded .wizard-issues__body,body.theme-dark.nwadpe-embedded .wizard-issues__list li+li,
body.theme-dark.nwadpe-embedded .subhead,body.theme-dark .booking-card__intro,body.theme-dark.nwadpe-embedded #experience .route-row{border-color:var(--tn-line)!important}

/* Text roles. Headings light blue-grey, helper text muted, never pure white. */
body.theme-dark.nwadpe-embedded .section-title h2,body.theme-dark.nwadpe-embedded .subhead,body.theme-dark.nwadpe-embedded .wizard-phase-line strong,
body.theme-dark.nwadpe-embedded .verification-meter__meta>span,body.theme-dark.nwadpe-embedded .wizard-issues__title,
body.theme-dark.nwadpe-embedded .xc-panel-head h3,body.theme-dark.nwadpe-embedded .review-next h3,body.theme-dark.nwadpe-embedded .review-state strong,
body.theme-dark.nwadpe-embedded .review-next b,body.theme-dark.nwadpe-embedded .metric strong,body.theme-dark.nwadpe-embedded .xc-metric strong,
body.theme-dark.nwadpe-embedded .mx-result strong,body.theme-dark.nwadpe-embedded .route-leg strong,body.theme-dark.nwadpe-embedded .approach-leg strong,
body.theme-dark.nwadpe-embedded .route-distance strong,body.theme-dark.nwadpe-embedded .route-static-cell strong,
body.theme-dark.nwadpe-embedded .cite-note strong,body.theme-dark.nwadpe-embedded .basis-note strong,body.theme-dark.nwadpe-embedded .mx-intro strong,
body.theme-dark.nwadpe-embedded .xc-database-note strong,body.theme-dark.nwadpe-embedded .route-footnote strong,body.theme-dark.nwadpe-embedded .endorsement-example strong,
body.theme-dark.nwadpe-embedded .maintenance-panel__toggle,body.theme-dark .step-label,body.theme-dark .start-question legend,
body.theme-dark .select-field>span,body.theme-dark .booking-card__intro h2,body.theme-dark .booking-fieldset legend,
body.theme-dark .booking-location>span,body.theme-dark .booking-month__summary,body.theme-dark .start-notice strong,
body.theme-dark .card h1,body.theme-dark .card h2,body.theme-dark .card label,body.theme-dark h2,body.theme-dark .card label{color:var(--tn-head)!important}
body.theme-dark.nwadpe-embedded .help,body.theme-dark.nwadpe-embedded .min,body.theme-dark.nwadpe-embedded .autosave-note,
body.theme-dark.nwadpe-embedded .wizard-step-label,body.theme-dark.nwadpe-embedded .wizard-phase-line small,body.theme-dark.nwadpe-embedded .section-head small,
body.theme-dark.nwadpe-embedded .verification-meter__meta,body.theme-dark.nwadpe-embedded .check>span>span,body.theme-dark.nwadpe-embedded .field-note-inline,
body.theme-dark.nwadpe-embedded .airport-detail,body.theme-dark.nwadpe-embedded .xc-panel-head p,body.theme-dark.nwadpe-embedded .metric span,
body.theme-dark.nwadpe-embedded .xc-metric span,body.theme-dark.nwadpe-embedded .xc-metric small,body.theme-dark.nwadpe-embedded .mx-result span,
body.theme-dark.nwadpe-embedded .route-leg span,body.theme-dark.nwadpe-embedded .approach-leg span,body.theme-dark.nwadpe-embedded .route-distance span,
body.theme-dark.nwadpe-embedded .maintenance-panel__content>p,body.theme-dark.nwadpe-embedded .wizard-issues__lead,body.theme-dark.nwadpe-embedded .review-facts dt,
body.theme-dark.nwadpe-embedded .review-next__foot,body.theme-dark.nwadpe-embedded .computed-note b,body.theme-dark.nwadpe-embedded .qualification-unlock-note,
body.theme-dark.nwadpe-embedded .endorsement-card .summary-copy>span,body.theme-dark.nwadpe-embedded .cite-note,body.theme-dark.nwadpe-embedded .ap-label,
body.theme-dark.nwadpe-embedded .commercial-route-head,body.theme-dark.nwadpe-embedded .training-route-head,
body.theme-dark .step-label,body.theme-dark .select-field small,body.theme-dark .qualification-next-note,body.theme-dark .start-notice p,
body.theme-dark .booking-card__intro p:last-child,body.theme-dark .booking-card__intro .step-label,body.theme-dark .booking-location small,
body.theme-dark .booking-notice,body.theme-dark .hint,body.theme-dark .sub,body.theme-dark .start-notice .start-notice__foot{color:var(--tn-muted)!important}
body.theme-dark.nwadpe-embedded .check b,body.theme-dark.nwadpe-embedded .check span,body.theme-dark.nwadpe-embedded .hour-card label,
body.theme-dark.nwadpe-embedded .endorsement-card b,body.theme-dark.nwadpe-embedded .review-facts dd,body.theme-dark.nwadpe-embedded .review-next ol,
body.theme-dark.nwadpe-embedded .review-state p,body.theme-dark.nwadpe-embedded .wizard-issues__list button,body.theme-dark.nwadpe-embedded .wizard-issues__steps button,
body.theme-dark.nwadpe-embedded .full-stop-cell,body.theme-dark.nwadpe-embedded .endorsement-example,
body.theme-dark.nwadpe-embedded .check-details .details-body,body.theme-dark.nwadpe-embedded .approach-validation-note,
body.theme-dark .start-question label,body.theme-dark .booking-slot,body.theme-dark .checks label,body.theme-dark .card,body.theme-dark .card p{color:var(--tn-ink)!important}
body.theme-dark.nwadpe-embedded .req,body.theme-dark .select-field b,body.theme-dark .start-question legend span,body.theme-dark .booking-location b{color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .wizard-phase-line>a,body.theme-dark.nwadpe-embedded .link-button,body.theme-dark .start-notice__links a,
body.theme-dark.nwadpe-embedded .endorsement-card .summary-copy:after,body.theme-dark.nwadpe-embedded .endorsement-example a,
body.theme-dark.nwadpe-embedded .wizard-issues__list button:hover,body.theme-dark.nwadpe-embedded .wizard-issues__steps button:hover,
body.theme-dark .card a{color:var(--tn-accent)!important}
body.theme-dark.nwadpe-embedded .review-next li::marker{color:var(--tn-accent)}

/* Fields stay paper: white with dark text. This is the difference between a
   dark theme you can fill in for ten minutes and one you can only admire. */
body.theme-dark.nwadpe-embedded #qualForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.theme-dark.nwadpe-embedded #qualForm select,body.theme-dark.nwadpe-embedded #qualForm textarea,
body.theme-dark .select-field select,body.theme-dark .select-field input,body.theme-dark .select-field textarea,
body.theme-dark .booking-location select,body.theme-dark .card input,body.theme-dark .card select,body.theme-dark .card textarea{
  background:var(--tn-field)!important;color:var(--tn-field-ink)!important;border:1px solid var(--tn-field-line)!important;box-shadow:none!important}
body.theme-dark.nwadpe-embedded #qualForm input:focus,body.theme-dark.nwadpe-embedded #qualForm select:focus,body.theme-dark.nwadpe-embedded #qualForm textarea:focus,
body.theme-dark .select-field :is(input,select,textarea):focus,body.theme-dark .card :is(input,select,textarea):focus{
  border-color:#fff!important;outline:2px solid rgba(63,182,236,.55)!important;outline-offset:1px!important}
body.theme-dark.nwadpe-embedded input::placeholder,body.theme-dark.nwadpe-embedded textarea::placeholder,body.theme-dark ::placeholder{color:#7d8d9a!important}
body.theme-dark .start-question input{background:transparent;border-color:var(--tn-line-strong)}
body.theme-dark .start-question input:checked:after{background:#fff}
body.theme-dark .booking-slot__indicator{background:transparent;border-color:var(--tn-line-strong)}
body.theme-dark .booking-slot input:checked+.booking-slot__indicator:after{background:#fff}
body.theme-dark .booking-slot:hover{background:#155470!important}
body.theme-dark .booking-slot:has(input:checked){border-color:#fff!important;box-shadow:0 0 0 1px #fff!important}

/* Progress. */
body.theme-dark .progress-track,body.theme-dark.nwadpe-embedded .wizard-progress__track,body.theme-dark.nwadpe-embedded .verification-meter__track{background:rgba(255,255,255,.14)!important}
body.theme-dark .progress-track span,body.theme-dark.nwadpe-embedded .wizard-progress__track span,body.theme-dark.nwadpe-embedded .verification-meter__track span{background:var(--tn-accent)!important}
body.theme-dark.nwadpe-embedded .verification-meter__meta strong{color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .wizard-progress.is-qualified .verification-meter__meta strong{color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded .wizard-progress.is-qualified .verification-meter__track span{background:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded .wizard-progress.is-manual-review .verification-meter__meta strong{color:var(--tn-warn)!important}
body.theme-dark.nwadpe-embedded .wizard-progress.is-manual-review .verification-meter__track span{background:var(--tn-warn)!important}

/* Buttons: the primary action is white on navy, like the hero's active tab. */
body.theme-dark .next-button,body.theme-dark .booking-submit,body.theme-dark.nwadpe-embedded .wizard-button--primary,body.theme-dark .card button,body.theme-dark .card .btn{
  background:#fff!important;color:var(--tn-ground)!important;border:1px solid #fff!important}
body.theme-dark .next-button:hover,body.theme-dark .booking-submit:hover,body.theme-dark.nwadpe-embedded .wizard-button--primary:hover{background:#e6f1f7!important}
body.theme-dark .previous-button,body.theme-dark.nwadpe-embedded .wizard-button--secondary,body.theme-dark.nwadpe-embedded .wizard-button--ghost,
body.theme-dark.nwadpe-embedded .layout .btn,body.theme-dark.nwadpe-embedded .review-state__jump{
  background:transparent!important;color:var(--tn-ink)!important;border:1px solid var(--tn-line-strong)!important}
body.theme-dark.nwadpe-embedded .layout .btn:hover,body.theme-dark.nwadpe-embedded .wizard-button--secondary:hover,body.theme-dark .previous-button:hover{background:rgba(255,255,255,.08)!important}
body.theme-dark.nwadpe-embedded .layout .btn.primary{background:#fff!important;color:var(--tn-ground)!important}
body.theme-dark.nwadpe-embedded .wizard-button:disabled{background:rgba(255,255,255,.08)!important;border-color:transparent!important;color:rgba(255,255,255,.4)!important}
body.theme-dark.nwadpe-embedded .wizard-reset,body.theme-dark.nwadpe-embedded .layout .btn.danger{color:var(--tn-bad)!important}

/* Step chips and the issues panel. */
body.theme-dark.nwadpe-embedded .wizard-step-chip{background:transparent;border-color:var(--tn-line);color:var(--tn-ink)}
body.theme-dark.nwadpe-embedded .wizard-step-chip__ring{--ring:var(--tn-bad)}
body.theme-dark.nwadpe-embedded .wizard-step-chip__ring{border-color:var(--tn-card,#132030)}
body.theme-dark.nwadpe-embedded .wizard-step-chip:hover:not(.is-current){background:rgba(255,255,255,.06);border-color:var(--tn-line-strong)}
body.theme-dark.nwadpe-embedded .wizard-step-chip.is-current{background:#fff;border-color:#fff;color:var(--tn-ground)}
body.theme-dark.nwadpe-embedded .wizard-step-chip.is-current .wizard-step-chip__ring{--ring:#c34837}
body.theme-dark.nwadpe-embedded .wizard-step-chip.is-done{background:var(--tn-good)!important;border-color:var(--tn-good)!important;color:var(--tn-ground)!important}
body.theme-dark.nwadpe-embedded .wizard-step-chip.is-done.is-current{box-shadow:0 0 0 2px var(--tn-good);background:#fff!important;color:#1f5a38!important}
body.theme-dark.nwadpe-embedded .wizard-issues__count{background:var(--tn-bad-bg);color:var(--tn-bad)}
body.theme-dark.nwadpe-embedded .wizard-issues.is-clear .wizard-issues__count{background:var(--tn-good-bg);color:var(--tn-good)}
body.theme-dark.nwadpe-embedded .wizard-issues__clear,body.theme-dark.nwadpe-embedded .wizard-issues__lead--ok{background:transparent!important;color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded .wizard-issues__list button::before{background:var(--tn-bad)}
body.theme-dark.nwadpe-embedded .wizard-issues__steps button b{background:rgba(255,255,255,.1);color:var(--tn-muted)}
body.theme-dark.nwadpe-embedded .wizard-issues__title::after{color:var(--tn-muted)}

/* Flags, notices, states -- tints, not fills. */
body.theme-dark.nwadpe-embedded #qualForm .field.is-open>.field-label,body.theme-dark.nwadpe-embedded #qualForm .hour-card.is-open>label,body.theme-dark.nwadpe-embedded #qualForm .prep-card.is-open>label{color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded #qualForm .field.is-open input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.theme-dark.nwadpe-embedded #qualForm .field.is-open select,body.theme-dark.nwadpe-embedded #qualForm .field.is-open textarea,
body.theme-dark.nwadpe-embedded #qualForm .hour-card.is-open input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.theme-dark.nwadpe-embedded #qualForm .prep-card.is-open input:not([type=checkbox]):not([type=radio]):not([type=hidden]){border-color:var(--tn-bad)!important;box-shadow:0 0 0 1px var(--tn-bad-bg)!important}
body.theme-dark.nwadpe-embedded #qualForm .check.is-open,body.theme-dark.nwadpe-embedded #qualForm .xc-panel.is-open,body.theme-dark.nwadpe-embedded #qualForm .approach-table.is-open,
body.theme-dark.nwadpe-embedded #qualForm .endorsement-card.is-open,body.theme-dark.nwadpe-embedded #qualForm .check-details.is-open,body.theme-dark.nwadpe-embedded #qualForm .route-row.is-open{border-color:var(--tn-bad)!important;box-shadow:none!important}
@keyframes nwadpe-flash-navy{0%{background-color:var(--tn-bad-bg);box-shadow:0 0 0 6px var(--tn-bad-bg)}100%{background-color:transparent;box-shadow:0 0 0 0 transparent}}
body.theme-dark.nwadpe-embedded #qualForm .is-flash{animation-name:nwadpe-flash-navy}
body.theme-dark.nwadpe-embedded .wizard-step-notice,body.theme-dark.nwadpe-embedded .qualification-unlock-note--review,body.theme-dark.nwadpe-embedded .review-state.is-review,
body.theme-dark.nwadpe-embedded .computed-note.is-review,body.theme-dark.nwadpe-embedded .mx-warning,body.theme-dark.nwadpe-embedded .manual-chip,body.theme-dark.nwadpe-embedded .approach-validation-note.warn{
  background:var(--tn-warn-bg)!important;border-color:rgba(241,200,110,.4)!important;color:var(--tn-warn)!important}
body.theme-dark.nwadpe-embedded .review-state.is-review strong{color:var(--tn-warn)!important}
body.theme-dark.nwadpe-embedded .review-state.is-open,body.theme-dark.nwadpe-embedded .computed-note.is-bad,body.theme-dark.nwadpe-embedded .metric.fail,
body.theme-dark.nwadpe-embedded .xc-verdict.red,body.theme-dark.nwadpe-embedded .approach-validation-note.bad,body.theme-dark .booking-empty{
  background:var(--tn-bad-bg)!important;border-color:rgba(245,165,158,.4)!important;color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .review-state.is-open strong,body.theme-dark.nwadpe-embedded .metric.fail strong{color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .review-state.is-ready,body.theme-dark.nwadpe-embedded .computed-note.is-good,body.theme-dark.nwadpe-embedded .metric.pass,
body.theme-dark.nwadpe-embedded .xc-verdict.green,body.theme-dark.nwadpe-embedded .approach-validation-note.good,body.theme-dark.nwadpe-embedded .approach-leg.complete,body.theme-dark .booking-approved{
  background:var(--tn-good-bg)!important;border-color:rgba(143,216,174,.4)!important;color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded .review-state.is-ready strong,body.theme-dark.nwadpe-embedded .metric.pass strong,body.theme-dark.nwadpe-embedded .approach-leg.complete strong{color:var(--tn-good)!important}
body.theme-dark .booking-approved:before{background:var(--tn-good)}
body.theme-dark.nwadpe-embedded .review-state__jump{border-color:var(--tn-bad)!important;color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .review-state p{color:var(--tn-ink)!important}
body.theme-dark .qualification-next-note,body.theme-dark .start-notice,body.theme-dark .booking-notice,
body.theme-dark.nwadpe-embedded #experience .basis-note,body.theme-dark.nwadpe-embedded #aircraft .mx-intro{border-left-color:var(--tn-accent)!important}
/* Airport lookup dropdown floats over the card: keep it paper. */
body.theme-dark.nwadpe-embedded .airport-results{background:#fff!important;color:#14283a!important}
body.theme-dark.nwadpe-embedded .airport-option{color:#14283a!important}


/* Section counts and hour-card states in the dark palettes. */
body.theme-dark.nwadpe-embedded .section-open{background:var(--tn-bad-bg);border-color:rgba(255,255,255,.12);color:var(--tn-bad)}
body.theme-dark.nwadpe-embedded .section-open.is-clear{background:var(--tn-good-bg);color:var(--tn-good)}
body.theme-dark.nwadpe-embedded #experience .hour-card.pass input{border-color:var(--tn-good)!important;box-shadow:inset 0 0 0 1px var(--tn-good-bg)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.pass .min{color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.fail:not(.is-empty) input{border-color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.fail:not(.is-empty) .min{color:var(--tn-bad)!important}
/* Josh's screenshot has a black header band rather than the site's photo hero. */
body.theme-original .schedule-hero,body.theme-original.nwadpe-embedded .hero{background-image:linear-gradient(rgba(0,0,0,.84),rgba(0,0,0,.92) 60%,#071019 100%),url('/assets/wing-of-plane-scaled.jpg')!important}
body.theme-original .public-logo{background:#000}

/* The base stylesheet styles some components with an id in the selector
   (#experience .hour-card label ...). :is(#…) matches that specificity so
   the palette wins there too. */
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft,#documents,#applicant,#eligibility,#endorsements,#cfi,#review) :is(.hour-card label,.prep-card label,.check b,.check span,.xc-panel-head h3,.route-leg strong,.approach-leg strong,.route-distance strong,.route-static-cell strong,.mx-result strong,.xc-metric strong,.metric strong,.full-stop-cell,.maintenance-panel__toggle,.subhead){color:var(--tn-head)!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft,#documents) :is(.hour-card .min,.prep-card .min,.check>span>span,.xc-panel-head p,.airport-detail,.xc-metric span,.xc-metric small,.mx-result span,.route-leg span,.approach-leg span,.route-distance span,.route-footnote,.xc-database-note,.maintenance-panel__content>p,.ap-label,.commercial-route-head,.training-route-head,.basis-note,.mx-intro){color:var(--tn-muted)!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft,#documents) :is(.xc-database-note strong,.basis-note strong,.mx-intro strong,.route-footnote strong){color:var(--tn-head)!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft,#documents) :is(.prep-card,.xc-panel,.xc-panel-head,.route-row,.xc-metric,.metric,.mx-panel,.maintenance-panel__toggle,.mx-result-grid,.mx-result,.check,.route-leg,.approach-leg,.route-distance,.route-static-cell,.approach-table,.approach-row,.commercial-route-row,.training-route-row,.xc-database-note,.basis-note,.mx-intro,.check-grid,>.section-body>.grid){background:var(--tn-surface-2)!important;border-color:var(--tn-line)!important;color:var(--tn-ink)!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft) :is(.xc-panel-body,.maintenance-panel__content){background:transparent!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft) .maintenance-panel__toggle[aria-expanded="true"]{background:rgba(255,255,255,.06)!important}
body.theme-dark.nwadpe-embedded :is(#experience,#aircraft) :is(.xc-verdict.red,.mx-warning){background:var(--tn-bad-bg)!important;color:var(--tn-bad)!important;border-color:rgba(255,255,255,.12)!important}
body.theme-dark.nwadpe-embedded #experience .xc-verdict.green{background:var(--tn-good-bg)!important;color:var(--tn-good)!important;border-color:rgba(255,255,255,.12)!important}
body.theme-dark.nwadpe-embedded #experience .mini-btn{background:transparent!important;border-color:var(--tn-line-strong)!important;color:var(--tn-ink)!important}
body.theme-dark.nwadpe-embedded #experience .route-seq{background:#fff!important;color:var(--tn-ground)!important}
body.theme-dark.nwadpe-embedded #experience .airport-input,body.theme-dark.nwadpe-embedded #experience .approach-row :is(input,select),body.theme-dark.nwadpe-embedded #documents input[readonly]{background:var(--tn-field)!important;color:var(--tn-field-ink)!important;border-color:var(--tn-field-line)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.pass input{border-color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.pass .min{color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.fail:not(.is-empty) input{border-color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded #experience .hour-card.fail:not(.is-empty) .min{color:var(--tn-bad)!important}

/* Native controls on dark fields: tell the browser the scheme so the date
   picker icon, select arrow and number spinner render light. */
body.theme-original,body.theme-original input,body.theme-original select,body.theme-original textarea{color-scheme:dark}
/* color-scheme:dark already draws the calendar icon light; no filter on top of it. */
body.theme-original input[type=date]::-webkit-calendar-picker-indicator{opacity:.9;cursor:pointer}
body.nwadpe-embedded #qualForm input[type=date]{cursor:pointer}
body.theme-dark input[type=checkbox],body.theme-dark input[type=radio]{accent-color:var(--tn-accent)}

/* AKTR / ACS picker in the dark palettes. */
body.theme-dark.nwadpe-embedded .aktr-picker{background:var(--tn-surface-2)!important;border-color:var(--tn-line)!important}
body.theme-dark.nwadpe-embedded .aktr-intro,body.theme-dark.nwadpe-embedded .aktr-empty,body.theme-dark.nwadpe-embedded .aktr-row-area{color:var(--tn-muted)!important}
body.theme-dark.nwadpe-embedded .aktr-select-label{color:var(--tn-head)!important}
body.theme-dark.nwadpe-embedded .aktr-select-wrap select{background:var(--tn-field)!important;color:var(--tn-field-ink)!important;border-color:var(--tn-field-line)!important}
body.theme-dark.nwadpe-embedded .aktr-select-wrap select:disabled{background:rgba(255,255,255,.06)!important;color:var(--tn-muted)!important}
body.theme-dark.nwadpe-embedded .aktr-add-btn{background:#fff!important;color:var(--tn-ground)!important;border-color:#fff!important}
body.theme-original.nwadpe-embedded .aktr-add-btn{background:linear-gradient(135deg,#007eb7,#009fe3)!important;color:#fff!important;border-color:#009fe3!important}
body.theme-dark.nwadpe-embedded .aktr-add-btn:disabled{background:rgba(255,255,255,.08)!important;border-color:transparent!important;color:rgba(255,255,255,.4)!important}
body.theme-dark.nwadpe-embedded .aktr-row{background:var(--tn-good-bg)!important;border-color:rgba(255,255,255,.14)!important}
body.theme-dark.nwadpe-embedded .aktr-row-code{color:var(--tn-good)!important}
body.theme-dark.nwadpe-embedded .aktr-row-text{color:var(--tn-ink)!important}
body.theme-dark.nwadpe-embedded .aktr-row-remove{background:transparent!important;border-color:var(--tn-line-strong)!important;color:var(--tn-bad)!important}
body.theme-dark.nwadpe-embedded .aktr-count-badge{background:var(--tn-warn-bg)!important;border-color:rgba(255,255,255,.14)!important;color:var(--tn-warn)!important}

/* Lighter reading line, in Josh's palette. */
body.theme-dark.nwadpe-embedded :is(#eligibility,#documents,#aircraft,#endorsements,#applicant,#experience,#cfi) :is(.check-grid){background:transparent!important;border:0!important;border-top:1px solid var(--tn-line)!important}
body.theme-dark.nwadpe-embedded :is(#eligibility,#documents,#aircraft,#endorsements,#applicant,#experience,#cfi) :is(.check){background:transparent!important;border:0!important;border-bottom:1px solid var(--tn-line)!important;border-radius:0!important}
body.theme-dark.nwadpe-embedded .why-note>summary{color:var(--tn-accent)}
body.theme-dark.nwadpe-embedded .wizard-issues__group{color:var(--tn-muted)}
body.theme-dark.nwadpe-embedded .wizard-issues__field{color:var(--tn-ink)}
body.theme-dark.nwadpe-embedded .wizard-issues__state{color:var(--tn-bad)}

/* Empty date boxes and dropdowns read like placeholders until filled. */
body.theme-dark.nwadpe-embedded #qualForm input[type=date].is-blank:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.theme-dark.nwadpe-embedded #qualForm select.is-blank,body.theme-dark .select-field :is(input[type=date],select).is-blank{color:#7d8d9a!important}

body.theme-dark .public-footer,body.theme-dark .public-footer a{color:var(--tn-muted)}

body.theme-dark.nwadpe-embedded .subhead,body.theme-original.nwadpe-embedded .subhead{border-top-color:var(--tn-line)!important;border-bottom:0!important;color:#fff!important}
body.theme-dark.nwadpe-embedded .subhead::after{background:var(--tn-accent)}

/* Mobile menu: the button and the opened panel sit in the theme, not on white. */
@media(max-width:820px){
  body.theme-dark .menu-button,body.theme-original .menu-button{background:transparent;border-color:rgba(255,255,255,.45)}
  body.theme-dark .menu-button span,body.theme-original .menu-button span{background:#fff}
  body.theme-dark .public-header:has(.menu-toggle:checked),body.theme-original .public-header:has(.menu-toggle:checked){background:var(--tn-ground)}
  body.theme-dark .menu-toggle:checked~.public-nav a,body.theme-dark .menu-toggle:checked~.public-nav .header-button,
  body.theme-original .menu-toggle:checked~.public-nav a,body.theme-original .menu-toggle:checked~.public-nav .header-button{color:#fff;border-bottom:1px solid var(--tn-line)}
  body.theme-dark .menu-toggle:checked~.public-nav .header-button--active,body.theme-original .menu-toggle:checked~.public-nav .header-button--active{color:#fff!important;background:none!important}
}
