.utility-top-button.pt-account-button {
  background: #0f4c81;
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
  min-width: 94px;
}

.utility-top-button.pt-account-button.signed-in {
  background: #0f766e;
}

.utility-top-button.pt-account-button.signed-in { display: inline-flex; align-items: center; gap: 8px; }
.pt-account-button-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-edition-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 22px; padding: 3px 8px; border: 1px solid transparent; border-radius: 999px;
  font-size: 10px; line-height: 1; font-style: normal; font-weight: 950; letter-spacing: .08em;
  white-space: nowrap; box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
}
.pt-edition-badge[hidden] { display: none !important; }
.pt-edition-badge.edition-lite { background: #e2e8f0; border-color: #cbd5e1; color: #334155; }
.pt-edition-badge.edition-trial { background: #dcfce7; border-color: #86efac; color: #166534; }
.pt-edition-badge.edition-platinum { background: linear-gradient(135deg, #fff7d6, #f0d47b); border-color: #d6b84e; color: #5c4700; }
.pt-edition-badge.edition-admin { background: #dbeafe; border-color: #93c5fd; color: #1e3a8a; }
.brand-row .pt-edition-badge { margin-left: 9px; transform: translateY(-1px); }
.pt-account-menu-name strong { display: flex; align-items: center; gap: 7px; }
.pt-account-menu-name .pt-edition-badge { margin-top: 0; padding: 3px 7px; }

.pt-public-landing {
  min-height: 100vh;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: clamp(24px, 5vw, 64px);
  background:
    radial-gradient(circle at 76% 28%, rgba(47, 140, 225, .2), transparent 34%),
    linear-gradient(112deg, rgba(2, 22, 55, .96) 0%, rgba(3, 48, 96, .82) 52%, rgba(7, 79, 143, .48) 100%),
    url("pilot_trainer_sky_background.webp") center right / cover fixed;
  color: #fff;
}
.pt-public-landing[hidden], .app[hidden] { display: none !important; }
.pt-landing-shell {
  width: min(1180px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
  align-items: center;
  gap: clamp(42px, 8vw, 110px);
}
.pt-public-landing.registration-plan-active .pt-landing-shell { grid-template-columns: minmax(0, .78fr) minmax(620px, 1.22fr); }
.pt-landing-brand { max-width: 690px; text-shadow: 0 2px 18px rgba(0, 18, 48, .38); }
.pt-landing-wordmark { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 24px; font-size: clamp(18px, 1.65vw, 22px); font-weight: 900; letter-spacing: .14em; }
.pt-landing-mark { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; overflow: hidden; box-shadow: 0 5px 18px rgba(0, 18, 48, .24); }
.pt-landing-mark img { width: 100%; height: 100%; object-fit: cover; }
.pt-landing-brand h1 { margin: 0; max-width: 680px; font-size: clamp(40px, 5.2vw, 70px); line-height: 1.02; letter-spacing: -.035em; }
.pt-landing-pillars { margin: 26px 0 0; font-size: clamp(16px, 1.8vw, 21px); font-weight: 800; letter-spacing: .01em; }
.pt-landing-copy { margin: 12px 0 0; color: #e6f2ff; font-size: 17px; line-height: 1.55; }
.pt-landing-auth-card { overflow: hidden; border: 1px solid rgba(255,255,255,.66); border-radius: 24px; background: rgba(255,255,255,.98); color: #17202a; box-shadow: 0 32px 90px rgba(0, 15, 45, .42); backdrop-filter: blur(16px); }
.pt-landing-auth-head { display: grid; gap: 6px; padding: 26px 26px 0; }
.pt-landing-auth-head strong { font-size: 24px; letter-spacing: -.02em; }
.pt-landing-auth-head span { color: #64748b; font-size: 13px; line-height: 1.45; }
.pt-landing-auth-card .pt-auth-body { padding: 22px 26px 28px; }
.pt-landing-auth-card .pt-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 12px; background: #eef3f8; }
.pt-landing-auth-card .pt-auth-tabs button { min-height: 40px; border: 0; background: transparent; box-shadow: none; }
.pt-landing-auth-card .pt-auth-tabs button.active { background: #fff; color: #0f4c81; box-shadow: 0 2px 8px rgba(15, 41, 70, .12); }
.pt-landing-auth-card .pt-auth-primary { min-height: 44px; padding-inline: 22px; }
.pt-landing-footer { width: min(1180px, 100%); margin: 36px auto 0; display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.78); font-size: 11px; }
.pt-landing-footer nav { display: flex; flex-wrap: wrap; gap: 13px; }
.pt-landing-footer a, .pt-landing-footer button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.pt-auth-link-button { border: 0; background: transparent; color: #1d4ed8; }
.pt-selected-plan { margin: 0 0 16px; color: #0f4c81; font-size: 14px; font-weight: 800; }

.brand-scope { margin: 4px 0 0; color: #506984; font-size: 11px; font-weight: 800; }
.pt-theme-toggle { white-space: nowrap; }

.pt-account-menu-wrap { position: relative; }
.pt-account-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 10020;
  display: none;
  width: 230px;
  padding: 8px;
  border: 1px solid #d8e2ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(2, 21, 43, .22);
}
.pt-account-menu.show { display: grid; }
.pt-account-menu button, .pt-account-menu a {
  width: 100%; padding: 10px 11px; border: 0; border-radius: 9px;
  background: transparent; color: #17202a; font: inherit; font-size: 13px;
  font-weight: 700; text-align: left; text-decoration: none; cursor: pointer;
}
.pt-account-menu button:hover, .pt-account-menu a:hover { background: #eff6ff; }
.pt-account-menu .signout-neutral {
  background: #f1f5f9;
  color: #475569;
}
.pt-account-menu .signout-neutral:hover { background: #e2e8f0; color: #334155; }
.pt-account-menu .pt-theme-menu-control {
  display: grid;
  grid-template-columns: 1fr auto 40px;
  align-items: center;
  gap: 8px;
}
.pt-theme-switch-state { color: #64748b; font-size: 11px; font-weight: 700; }
.pt-theme-switch {
  position: relative;
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, .12);
  transition: background-color .2s ease;
}
.pt-theme-switch > span {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .28);
  transition: transform .2s ease;
}
.pt-theme-menu-control.is-on .pt-theme-switch { background: #2563eb; }
.pt-theme-menu-control.is-on .pt-theme-switch > span { transform: translateX(16px); }
.pt-account-menu-name { margin: 2px 3px 7px; padding: 8px; border-bottom: 1px solid #e2e8f0; }
.pt-account-menu-name strong, .pt-account-menu-name span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-account-menu-name span { margin-top: 3px; color: #64748b; font-size: 11px; }
.pt-account-menu-name em { display: inline-flex; margin-top: 7px; padding: 4px 7px; border-radius: 999px; background: #e8f2ff; color: #0f4c81; font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .02em; }
.pt-account-menu-name > strong { display: flex; align-items: center; gap: 7px; }
.pt-account-menu-name > strong .pt-edition-badge { margin-top: 0; }

.pt-profile-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid #e2e8f0;
}
.pt-profile-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #0f4c81;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .04em;
}
.pt-profile-identity h3 { margin: 0; color: #0f172a; font-size: 18px; }
.pt-profile-identity p { margin: 4px 0 0; color: #64748b; font-size: 12px; }
.pt-profile-section-title {
  display: grid;
  gap: 3px;
  margin-top: 4px;
  padding-top: 4px;
}
.pt-profile-section-title:not(:first-child) { margin-top: 10px; padding-top: 15px; border-top: 1px solid #e2e8f0; }
.pt-profile-section-title strong { color: #0f172a; font-size: 14px; }
.pt-profile-section-title span,
.pt-profile-help { color: #64748b; font-size: 11px; line-height: 1.45; }
.pt-profile-help { margin: -3px 0 0; }
.pt-profile-embedded { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e2e8f0; }
.pt-profile-embedded .pt-view-heading { margin-bottom: 12px; }

.pt-access-banner {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 16px;
  padding: 11px 14px;
  border: 1px solid rgba(191, 219, 254, .9);
  border-radius: 14px;
  background: rgba(239, 246, 255, .94);
  color: #17324d;
  box-shadow: 0 8px 22px rgba(2, 31, 60, .08);
  font-size: 13px;
  line-height: 1.45;
}

.pt-access-banner.show { display: flex; }
.pt-access-banner > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pt-access-banner span { color: #52677f; }
.pt-access-banner strong { color: #0f3b66; }
.pt-access-banner button { white-space: nowrap; background: #2563eb; color: #fff; }

.pt-auth-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(2, 12, 27, .72);
  backdrop-filter: blur(5px);
}

.pt-auth-backdrop.show { display: flex; }

.pt-auth-window {
  width: min(760px, 100%);
  max-height: min(820px, calc(100vh - 34px));
  overflow: auto;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
  color: #17202a;
}

.pt-auth-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 15px;
  border-bottom: 1px solid #dbe4ee;
  background: rgba(255,255,255,.97);
}

.pt-auth-header h2 { margin: 0; font-size: 22px; }
.pt-auth-header p { margin: 4px 0 0; color: #64748b; font-size: 12px; }
.pt-auth-close { width: 38px; height: 38px; padding: 0; border-radius: 50%; font-size: 22px; }
.pt-auth-body { padding: 20px; }
.pt-view-heading { margin-bottom: 18px; }
.pt-view-heading h3 { margin: 0; font-size: 20px; }
.pt-view-heading p { margin: 5px 0 0; color: #64748b; font-size: 12px; }

.pt-auth-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.pt-auth-tabs button { border: 1px solid #cbd5e1; background: #f8fafc; }
.pt-auth-tabs button.active { border-color: #2563eb; background: #2563eb; color: #fff; }

.pt-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.pt-auth-field { display: grid; gap: 6px; }
.pt-auth-field.full { grid-column: 1 / -1; }
.pt-auth-field label, .pt-auth-label { color: #334155; font-size: 12px; font-weight: 700; }
.pt-auth-field input, .pt-auth-field select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #b9c7d6;
  border-radius: 11px;
  background: #fff;
  color: #111827;
  font: inherit;
}

.pt-captcha-field {
  min-height: 65px;
  display: flex;
  align-items: center;
}

.pt-captcha-field.pt-captcha-invisible {
  min-height: 0;
}

.pt-auth-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
}

.pt-auth-checkbox input { margin-top: 3px; }
.pt-auth-checkbox a { color: #1d4ed8; }
.pt-auth-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pt-auth-primary { background: #2563eb; color: #fff; }
.pt-auth-secondary { border: 1px solid #cbd5e1; background: #f8fafc; }
.pt-auth-danger { background: #fee2e2; color: #991b1b; }

.pt-auth-message {
  display: none;
  margin: 0 0 15px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eff6ff;
  color: #1e3a5f;
  font-size: 13px;
  line-height: 1.45;
}

.pt-auth-message.show { display: block; }
.pt-auth-message.error { background: #fef2f2; color: #991b1b; }
.pt-auth-message.success { background: #ecfdf5; color: #065f46; }

.pt-account-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.pt-account-summary > div {
  padding: 13px;
  border: 1px solid #d9e2ec;
  border-radius: 13px;
  background: #f8fafc;
}

.pt-account-summary span { display: block; color: #64748b; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.pt-account-summary strong { display: block; margin-top: 6px; color: #0f172a; font-size: 17px; overflow-wrap: anywhere; }
.pt-plan-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pt-progress-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pt-redeem-panel { padding: 18px; border: 1px solid #d9e2ec; border-radius: 15px; background: #f8fafc; }

.pt-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.pt-plan-grid.registration { grid-template-columns: repeat(3, minmax(0,1fr)); }
.pt-plan-card { display: flex; flex-direction: column; height: 100%; padding: 18px; border: 1px solid #cbd5e1; border-radius: 16px; background: #f8fafc; }
.pt-plan-card.featured { border-color: #2563eb; box-shadow: inset 0 0 0 1px #2563eb; background: #f4f8ff; }
.pt-plan-card h3 { margin: 0; font-size: 18px; }
.pt-plan-price { margin: 9px 0; color: #0f3b66; font-size: 28px; font-weight: 800; }
.pt-plan-price small { font-size: 12px; color: #64748b; }
.pt-plan-card p { min-height: 38px; color: #536273; font-size: 13px; line-height: 1.45; }
.pt-plan-card button { width: 100%; margin-top: auto; }
.pt-trial-offer { display: grid; gap: 3px; margin: 0 0 14px; padding: 9px 10px; border-radius: 10px; background: #e9f7ef; color: #166534; font-size: 11px; line-height: 1.35; }
.pt-trial-offer strong { font-size: 12px; }

.pt-code-row { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.pt-code-row input { min-width: 0; }
.pt-muted { color: #64748b; font-size: 12px; line-height: 1.5; }
.pt-divider { height: 1px; margin: 19px 0; background: #e2e8f0; }
.pt-admin-link { display: inline-flex; margin-top: 8px; color: #1d4ed8; font-weight: 700; text-decoration: none; }

@media (max-width: 680px) {
  .utility-top-button.pt-account-button.signed-in { min-width: 0; padding-inline: 9px; gap: 6px; }
  .pt-account-button-name { display: inline-block; max-width: 96px; }
  .utility-top-button.pt-account-button.signed-in > .pt-edition-badge,
  .pt-account-menu-name .pt-edition-badge { display: none; }
  .brand-row .pt-edition-badge { margin-left: 6px; }
  .pt-public-landing { width: 100%; max-width: 100%; padding: 20px 14px; overflow-x: hidden; background-attachment: scroll; background-position: 76% center; }
  .pt-landing-shell,
  .pt-public-landing.registration-plan-active .pt-landing-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .pt-landing-brand { text-align: center; }
  .pt-landing-wordmark { margin-bottom: 18px; }
  .pt-landing-brand h1 { max-width: 520px; margin-inline: auto; font-size: clamp(34px, 10.5vw, 48px); }
  .pt-landing-pillars { margin-top: 20px; font-size: 15px; }
  .pt-landing-copy { font-size: 15px; }
  .pt-landing-auth-card { width: 100%; max-width: 100%; min-width: 0; border-radius: 18px; }
  .pt-landing-auth-head { padding: 21px 18px 0; text-align: left; }
  .pt-landing-auth-card .pt-auth-body { width: 100%; max-width: 100%; min-width: 0; padding: 18px; }
  .pt-landing-auth-card .pt-auth-tabs { min-width: 0; }
  .pt-landing-auth-card .pt-auth-tabs button { min-width: 0; padding-inline: 8px; white-space: normal; }
  .pt-landing-footer { flex-direction: column; align-items: center; text-align: center; }
  .pt-landing-footer nav { justify-content: center; }
  .pt-account-menu { position: fixed; top: 74px; right: 12px; width: min(260px, calc(100vw - 24px)); }
  .pt-auth-backdrop { align-items: flex-end; padding: 0; }
  .pt-auth-window { max-height: 92vh; border-radius: 18px 18px 0 0; }
  .pt-auth-body { padding: 16px; }
  .pt-auth-grid, .pt-plan-grid { grid-template-columns: 1fr; }
  .pt-plan-grid.registration { width: 100%; max-width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .pt-plan-card { width: 100%; max-width: 100%; min-width: 0; }
  .pt-auth-field.full { grid-column: auto; }
  .pt-account-summary { grid-template-columns: 1fr; }
  .pt-access-banner { align-items: flex-start; }
  .pt-access-banner button { padding: 8px 10px; }
}

@media (min-width: 681px) and (max-width: 980px) {
  .pt-public-landing { background-attachment: scroll; }
  .pt-landing-shell { grid-template-columns: 1fr; max-width: 700px; }
  .pt-public-landing.registration-plan-active .pt-landing-shell { grid-template-columns: 1fr; }
  .pt-landing-brand { text-align: center; margin: 0 auto; }
  .pt-landing-wordmark { justify-content: center; }
}

@media (max-width: 980px) {
  body.pt-dark-mode,
  body.pt-dark-mode .pt-public-landing { background-attachment: scroll !important; }
}

body.pt-dark-mode .card,
body.pt-dark-mode .training-card-button,
body.pt-dark-mode #statsArea > *,
body.pt-dark-mode .app-breadcrumb-bar,
body.pt-dark-mode .pt-access-banner,
body.pt-dark-mode .training-use-notice {
  background: rgba(10, 24, 43, .94) !important;
  border-color: #31445b !important;
  color: #e8f1fb !important;
}
body.pt-dark-mode .training-card-title,
body.pt-dark-mode .training-card-text,
body.pt-dark-mode .brand-home-link,
body.pt-dark-mode .brand-scope,
body.pt-dark-mode .meta,
body.pt-dark-mode #statsArea,
body.pt-dark-mode .pt-access-banner strong { color: #e8f1fb !important; }
body.pt-dark-mode .training-card-count,
body.pt-dark-mode .training-card-icon,
body.pt-dark-mode #statsArea button { background: #152a43 !important; color: #dbeafe !important; }
body.pt-dark-mode .pt-auth-window,
body.pt-dark-mode .pt-auth-header,
body.pt-dark-mode .pt-account-menu,
body.pt-dark-mode .pt-landing-auth-card { background: #101d2d; color: #e8f1fb; border-color: #31445b; }
body.pt-dark-mode {
  background-image: url("pilot_trainer_night_background.webp") !important;
  background-position: center right !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}
body.pt-dark-mode .pt-public-landing {
  background:
    linear-gradient(112deg, rgba(2, 10, 29, .78) 0%, rgba(3, 21, 48, .58) 55%, rgba(4, 30, 65, .34) 100%),
    url("pilot_trainer_night_background.webp") center right / cover fixed;
}
body.pt-dark-mode .pt-auth-tabs { background: #0b1726; }
body.pt-dark-mode .pt-auth-tabs button { background: transparent; border-color: #3b5068; color: #dbeafe; }
body.pt-dark-mode .pt-auth-tabs button.active,
body.pt-dark-mode .pt-landing-auth-card .pt-auth-tabs button.active { background: #1d4f82; border-color: #60a5fa; color: #fff; }
body.pt-dark-mode .pt-auth-message { background: #17304e; color: #dbeafe; }
body.pt-dark-mode .pt-auth-message.error { background: #451a2a; color: #fecdd3; }
body.pt-dark-mode .pt-auth-message.success { background: #123b35; color: #a7f3d0; }
body.pt-dark-mode .pt-landing-auth-head span { color: #b9c9da; }
body.pt-dark-mode .pt-account-menu button,
body.pt-dark-mode .pt-account-menu a { color: #e8f1fb; }
body.pt-dark-mode .pt-account-menu button:hover,
body.pt-dark-mode .pt-account-menu a:hover { background: #19324d; }
body.pt-dark-mode .pt-account-menu .signout-neutral {
  background: #243246;
  color: #f1f5f9;
}
body.pt-dark-mode .pt-account-menu .signout-neutral:hover { background: #33455e; color: #fff; }
body.pt-dark-mode .pt-account-menu-name em { background: #173b61; color: #bfdbfe; }
body.pt-dark-mode .pt-edition-badge.edition-lite { background: #334155; border-color: #64748b; color: #f8fafc; }
body.pt-dark-mode .pt-edition-badge.edition-trial { background: #14532d; border-color: #22c55e; color: #dcfce7; }
body.pt-dark-mode .pt-edition-badge.edition-platinum { background: #6b5512; border-color: #e7c95c; color: #fff7d6; }
body.pt-dark-mode .pt-profile-identity { border-bottom-color: #29435d; }
body.pt-dark-mode .pt-profile-identity h3 { color: #e8f1fb; }
body.pt-dark-mode .pt-profile-identity p { color: #a9bed3; }
body.pt-dark-mode .pt-profile-section-title:not(:first-child) { border-top-color: #29435d; }
body.pt-dark-mode .pt-profile-section-title strong { color: #e8f1fb; }
body.pt-dark-mode .pt-profile-section-title span,
body.pt-dark-mode .pt-profile-help { color: #a9bed3; }
body.pt-dark-mode .pt-profile-embedded { border-top-color: #29435d; }
body.pt-dark-mode .pt-auth-field label,
body.pt-dark-mode .pt-auth-label,
body.pt-dark-mode .pt-auth-checkbox,
body.pt-dark-mode .pt-view-heading p,
body.pt-dark-mode .pt-muted { color: #b9c9da; }
body.pt-dark-mode .pt-selected-plan { color: #bfdbfe; }
body.pt-dark-mode .pt-auth-field input,
body.pt-dark-mode .pt-auth-field select { background: #0b1726; border-color: #3b5068; color: #f8fafc; }
body.pt-dark-mode .pt-account-summary > div,
body.pt-dark-mode .pt-redeem-panel,
body.pt-dark-mode .pt-plan-card { background: #13243a; border-color: #354b64; }
body.pt-dark-mode .pt-account-summary strong,
body.pt-dark-mode .pt-plan-card h3 { color: #f8fafc; }
body.pt-dark-mode .pt-trial-offer { background: #123b35; color: #a7f3d0; }
body.pt-dark-mode #statsArea .stat-box { background: #13243a !important; border-color: #354b64 !important; }
body.pt-dark-mode #statsArea .stat-value { color: #f8fafc !important; }
body.pt-dark-mode #statsArea .stat-label { color: #b9c9da !important; }
body.pt-dark-mode #statsArea .stats-action-button:disabled { background: #152a43 !important; color: #7890a8 !important; }

/* Complete dark theme coverage for training, modal and interview workspaces. */
body.pt-dark-mode .pt-modal-card,
body.pt-dark-mode .guide-window,
body.pt-dark-mode .guide-title,
body.pt-dark-mode .guide-close,
body.pt-dark-mode .guide-box strong,
body.pt-dark-mode .guide-language-nav button.active,
body.pt-dark-mode .guide-ok-button,
body.pt-dark-mode .study-window,
body.pt-dark-mode .statistics-window,
body.pt-dark-mode .module-header-card,
body.pt-dark-mode .module-action-card,
body.pt-dark-mode .dashboard-stat-mini,
body.pt-dark-mode .interview-panel,
body.pt-dark-mode .interview-question-card,
body.pt-dark-mode .interview-reference-card,
body.pt-dark-mode .interview-comparison-card,
body.pt-dark-mode .interview-details-card,
body.pt-dark-mode .interview-ai-consent-window,
body.pt-dark-mode .interview-sidebar-card {
  background: #101d2d !important;
  border-color: #31445b !important;
  color: #e8f1fb !important;
}
body.pt-dark-mode .contact-box,
body.pt-dark-mode .guide-box,
body.pt-dark-mode .study-window-card,
body.pt-dark-mode .statistics-window-card,
body.pt-dark-mode .interview-field-group,
body.pt-dark-mode .interview-comparison-pane,
body.pt-dark-mode .interview-stat-box,
body.pt-dark-mode .interview-reference-details details,
body.pt-dark-mode .interview-details-card .interview-reference-details details,
body.pt-dark-mode .interview-empty-state,
body.pt-dark-mode .interview-loading-state,
body.pt-dark-mode .interview-ai-result,
body.pt-dark-mode .interview-ai-score-item,
body.pt-dark-mode .interview-ai-feedback-grid details {
  background: #13243a !important;
  border-color: #354b64 !important;
  color: #dbeafe !important;
}
body.pt-dark-mode .pt-modal-title,
body.pt-dark-mode .guide-window h2,
body.pt-dark-mode .guide-box h3,
body.pt-dark-mode .module-header-card h2,
body.pt-dark-mode .module-action-card h3,
body.pt-dark-mode .dashboard-stat-value,
body.pt-dark-mode .dashboard-section-title h3,
body.pt-dark-mode .interview-section-heading,
body.pt-dark-mode .interview-question-text,
body.pt-dark-mode .interview-pane-heading h3,
body.pt-dark-mode .interview-reference-card h3,
body.pt-dark-mode .interview-comparison-card h3,
body.pt-dark-mode .interview-details-card > h3,
body.pt-dark-mode .interview-sidebar-card h2,
body.pt-dark-mode .interview-stat-value,
body.pt-dark-mode .interview-ai-score-item strong,
body.pt-dark-mode .interview-ai-consent-window h2 {
  color: #f8fafc !important;
}
body.pt-dark-mode .pt-modal-subtitle,
body.pt-dark-mode .contact-box,
body.pt-dark-mode .guide-box p,
body.pt-dark-mode .dashboard-stat-label,
body.pt-dark-mode .interview-section-copy,
body.pt-dark-mode .interview-field-label,
body.pt-dark-mode .interview-position,
body.pt-dark-mode .interview-reference-answer,
body.pt-dark-mode .interview-user-answer,
body.pt-dark-mode .interview-reference-details ul,
body.pt-dark-mode .interview-comparison-label,
body.pt-dark-mode .interview-stat-label,
body.pt-dark-mode .interview-progress-label,
body.pt-dark-mode .interview-progress-value,
body.pt-dark-mode .interview-minimal-status,
body.pt-dark-mode .interview-ai-consent-window p,
body.pt-dark-mode .pt-access-banner span {
  color: #b9c9da !important;
}
body.pt-dark-mode .pt-form-grid label,
body.pt-dark-mode .interview-reference-details summary,
body.pt-dark-mode .interview-ai-feedback-grid summary {
  color: #dbeafe !important;
}
body.pt-dark-mode .pt-form-grid input,
body.pt-dark-mode .pt-form-grid select,
body.pt-dark-mode .pt-form-grid textarea,
body.pt-dark-mode .interview-select,
body.pt-dark-mode .interview-answer-input,
body.pt-dark-mode .interview-minimal-answer-card .interview-reference-stage,
body.pt-dark-mode .interview-recording-clock {
  background: #0b1726 !important;
  border-color: #3b5068 !important;
  color: #f8fafc !important;
}
body.pt-dark-mode .interview-minimal-answer-card .interview-reference-content {
  color: #dbeafe !important;
}
body.pt-dark-mode .interview-minimal-answer-card .interview-reference-cover {
  background: rgba(7, 20, 38, .46) !important;
}
body.pt-dark-mode .interview-reference-content strong {
  background: #24476c !important;
  color: #e0f2fe !important;
}
body.pt-dark-mode .interview-choice-button,
body.pt-dark-mode .interview-secondary-button,
body.pt-dark-mode .interview-rating-button,
body.pt-dark-mode .module-secondary-tools button,
body.pt-dark-mode .app-back-button,
body.pt-dark-mode .study-window-secondary,
body.pt-dark-mode .pt-secondary-button,
body.pt-dark-mode .pt-auth-secondary,
body.pt-dark-mode .pt-close-button {
  background: #152a43 !important;
  border-color: #3b5068 !important;
  color: #dbeafe !important;
}
body.pt-dark-mode .interview-choice-button.active {
  background: #173b67 !important;
  border-color: #60a5fa !important;
  color: #bfdbfe !important;
}
body.pt-dark-mode .interview-progress-track,
body.pt-dark-mode .pt-auth-tabs,
body.pt-dark-mode .pt-divider {
  background: #29435d !important;
}
body.pt-dark-mode .ownership-note,
body.pt-dark-mode .legal-footer-links a,
body.pt-dark-mode .legal-footer-links button { color: #c7dcf2; }

@media (max-width: 680px) {
  .pt-captcha-field { max-width: 100%; overflow-x: auto; }
  .pt-code-row { grid-template-columns: 1fr; }
  .pt-code-row button { width: 100%; }
  .pt-access-banner.show { align-items: stretch; flex-direction: column; }
  .pt-access-banner button { width: 100%; }
  .pt-auth-header { padding: 15px 16px 13px; }
  .pt-auth-header h2 { font-size: 20px; }
  .pt-auth-actions > button { min-height: 42px; }
}
.pt-account-toast {
  position: fixed;
  z-index: 10050;
  right: 22px;
  bottom: 22px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 13px 16px;
  border: 1px solid #b9c8db;
  border-radius: 12px;
  background: #fff;
  color: #172338;
  box-shadow: 0 12px 34px rgba(8, 24, 49, .22);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .18s ease, transform .18s ease;
}
.pt-account-toast.show { opacity: 1; transform: translateY(0); }
.pt-account-toast.success { border-color: #75c99f; background: #effcf5; color: #075c37; }
.pt-account-toast.error { border-color: #e0a2a2; background: #fff2f2; color: #9a1d1d; }
body.pt-dark-mode .pt-account-toast { background: #172338; color: #f5f8fc; border-color: #41536b; }
body.pt-dark-mode .pt-account-toast.success { background: #123b2b; color: #d7ffeb; border-color: #3e9b73; }
body.pt-dark-mode .pt-account-toast.error { background: #482323; color: #ffe1e1; border-color: #ad5b5b; }

/* Training questions must remain readable in dark mode. */
body.pt-dark-mode #quizArea .card,
body.pt-dark-mode #resultArea .card {
  background: #101d2d !important;
  border-color: #354b64 !important;
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .question-title,
body.pt-dark-mode #quizArea h2,
body.pt-dark-mode #quizArea h3,
body.pt-dark-mode #quizArea .result,
body.pt-dark-mode #resultArea .question-title,
body.pt-dark-mode #resultArea h2,
body.pt-dark-mode #resultArea h3,
body.pt-dark-mode #resultArea .result {
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .meta,
body.pt-dark-mode #quizArea .small,
body.pt-dark-mode #resultArea .meta,
body.pt-dark-mode #resultArea .small,
body.pt-dark-mode .session-note,
body.pt-dark-mode .session-position {
  color: #b9c9da !important;
}
body.pt-dark-mode .option,
body.pt-dark-mode label.option,
body.pt-dark-mode .answer-row,
body.pt-dark-mode .step-row,
body.pt-dark-mode .write-row,
body.pt-dark-mode .session-panel {
  background: #13243a !important;
  border-color: #415a75 !important;
  color: #f8fafc !important;
}
body.pt-dark-mode .option span,
body.pt-dark-mode .option strong,
body.pt-dark-mode .answer-row,
body.pt-dark-mode .step-text {
  color: #f8fafc !important;
}
body.pt-dark-mode .option:hover,
body.pt-dark-mode label.option:hover {
  background: #19324d !important;
  border-color: #60a5fa !important;
}
body.pt-dark-mode .correct-option,
body.pt-dark-mode .answer-row.correct {
  background: #123b2b !important;
  border-color: #3e9b73 !important;
  color: #d7ffeb !important;
}
body.pt-dark-mode .wrong-option,
body.pt-dark-mode .answer-row.wrong {
  background: #482323 !important;
  border-color: #ad5b5b !important;
  color: #ffe1e1 !important;
}
body.pt-dark-mode .write-input,
body.pt-dark-mode #quizArea input[type="text"],
body.pt-dark-mode #quizArea textarea {
  background: #0b1726 !important;
  border-color: #415a75 !important;
  color: #f8fafc !important;
}

/* Emergency and abnormal procedure workspaces: complete dark-mode contrast. */
body.pt-dark-mode #quizArea .mode-bar,
body.pt-dark-mode #quizArea .subtab-bar,
body.pt-dark-mode #quizArea .selection-tools,
body.pt-dark-mode #quizArea .step-item,
body.pt-dark-mode #quizArea .cockpit-flow-progress-item,
body.pt-dark-mode #quizArea .cockpit-flow-action-panel,
body.pt-dark-mode #quizArea .cockpit-flow-review-box,
body.pt-dark-mode #quizArea .cockpit-flow-control-button,
body.pt-dark-mode #quizArea .cockpit-reference-switch {
  background: #13243a !important;
  border-color: #415a75 !important;
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .step-item.drag-over,
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.current {
  background: #19324d !important;
  border-color: #60a5fa !important;
}
body.pt-dark-mode #quizArea .drag-handle,
body.pt-dark-mode #quizArea .row-number,
body.pt-dark-mode #quizArea .cockpit-flow-meta,
body.pt-dark-mode #quizArea .cockpit-flow-photo-header,
body.pt-dark-mode #quizArea .cockpit-flow-utility-title,
body.pt-dark-mode #quizArea .cockpit-flow-mobile-note,
body.pt-dark-mode #quizArea .cockpit-flow-zoom-status {
  color: #b9c9da !important;
}
body.pt-dark-mode #quizArea .step-text,
body.pt-dark-mode #quizArea .cockpit-flow-title,
body.pt-dark-mode #quizArea .cockpit-flow-review-box li,
body.pt-dark-mode #quizArea .cockpit-flow-action-panel .small {
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .module-header-card p,
body.pt-dark-mode #quizArea .module-action-card span,
body.pt-dark-mode #quizArea .module-action-caption {
  color: #b9c9da !important;
}
body.pt-dark-mode #quizArea .module-action-card strong {
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-select {
  background: #0b1726 !important;
  border-color: #415a75 !important;
  color: #f8fafc !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-mode-button:not(.active),
body.pt-dark-mode #quizArea .mode-button:not(.active),
body.pt-dark-mode #quizArea .cockpit-reference-button:not(.active) {
  background: #1a2d44 !important;
  border-color: #415a75 !important;
  color: #e8f1fb !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-current-step {
  background: #3b2a18 !important;
  border-color: #c27a32 !important;
  color: #fff7ed !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-current-step .label {
  color: #fdba74 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.done {
  background: #123b2b !important;
  border-color: #3e9b73 !important;
  color: #d7ffeb !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.info {
  background: #3b2a18 !important;
  border-color: #c27a32 !important;
  color: #fed7aa !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.hidden-step {
  color: #9fb2c8 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-control-button.hint {
  background: #19324d !important;
  border-color: #60a5fa !important;
  color: #bfdbfe !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-control-button.restart {
  background: #3b2a18 !important;
  border-color: #c27a32 !important;
  color: #fed7aa !important;
}

/* Warm beige typography for neutral text in dark mode. */
body.pt-dark-mode {
  --pt-dark-text: #f2e8d5;
  --pt-dark-muted: #cbbda7;
  color: var(--pt-dark-text) !important;
}

body.pt-dark-mode .card,
body.pt-dark-mode .training-card-button,
body.pt-dark-mode #statsArea > *,
body.pt-dark-mode .app-breadcrumb-bar,
body.pt-dark-mode .pt-access-banner,
body.pt-dark-mode .training-use-notice,
body.pt-dark-mode .training-card-title,
body.pt-dark-mode .training-card-text,
body.pt-dark-mode .brand-home-link,
body.pt-dark-mode .brand-scope,
body.pt-dark-mode .meta,
body.pt-dark-mode #statsArea,
body.pt-dark-mode .pt-access-banner strong,
body.pt-dark-mode .training-card-count,
body.pt-dark-mode .training-card-icon,
body.pt-dark-mode #statsArea button,
body.pt-dark-mode .pt-auth-window,
body.pt-dark-mode .pt-auth-header,
body.pt-dark-mode .pt-account-menu,
body.pt-dark-mode .pt-landing-auth-card,
body.pt-dark-mode .pt-auth-tabs button,
body.pt-dark-mode .pt-auth-tabs button.active,
body.pt-dark-mode .pt-landing-auth-card .pt-auth-tabs button.active,
body.pt-dark-mode .pt-auth-message,
body.pt-dark-mode .pt-account-menu button,
body.pt-dark-mode .pt-account-menu a,
body.pt-dark-mode .pt-account-menu .signout-neutral,
body.pt-dark-mode .pt-account-menu .signout-neutral:hover,
body.pt-dark-mode .pt-profile-identity h3,
body.pt-dark-mode .pt-profile-section-title strong,
body.pt-dark-mode .pt-selected-plan,
body.pt-dark-mode .pt-auth-field input,
body.pt-dark-mode .pt-auth-field select,
body.pt-dark-mode .pt-account-summary strong,
body.pt-dark-mode .pt-plan-card h3,
body.pt-dark-mode #statsArea .stat-value,
body.pt-dark-mode .pt-modal-card,
body.pt-dark-mode .guide-window,
body.pt-dark-mode .guide-title,
body.pt-dark-mode .guide-close,
body.pt-dark-mode .guide-box strong,
body.pt-dark-mode .guide-language-nav button.active,
body.pt-dark-mode .guide-ok-button,
body.pt-dark-mode .study-window,
body.pt-dark-mode .statistics-window,
body.pt-dark-mode .module-header-card,
body.pt-dark-mode .module-action-card,
body.pt-dark-mode .dashboard-stat-mini,
body.pt-dark-mode .interview-panel,
body.pt-dark-mode .interview-question-card,
body.pt-dark-mode .interview-reference-card,
body.pt-dark-mode .interview-comparison-card,
body.pt-dark-mode .interview-details-card,
body.pt-dark-mode .interview-ai-consent-window,
body.pt-dark-mode .interview-sidebar-card,
body.pt-dark-mode .contact-box,
body.pt-dark-mode .guide-box,
body.pt-dark-mode .study-window-card,
body.pt-dark-mode .statistics-window-card,
body.pt-dark-mode .interview-field-group,
body.pt-dark-mode .interview-comparison-pane,
body.pt-dark-mode .interview-stat-box,
body.pt-dark-mode .interview-reference-details details,
body.pt-dark-mode .interview-details-card .interview-reference-details details,
body.pt-dark-mode .interview-empty-state,
body.pt-dark-mode .interview-loading-state,
body.pt-dark-mode .interview-ai-result,
body.pt-dark-mode .interview-ai-score-item,
body.pt-dark-mode .interview-ai-feedback-grid details,
body.pt-dark-mode .pt-modal-title,
body.pt-dark-mode .guide-window h2,
body.pt-dark-mode .guide-box h3,
body.pt-dark-mode .module-header-card h2,
body.pt-dark-mode .module-action-card h3,
body.pt-dark-mode .dashboard-stat-value,
body.pt-dark-mode .dashboard-section-title h3,
body.pt-dark-mode .interview-section-heading,
body.pt-dark-mode .interview-question-text,
body.pt-dark-mode .interview-pane-heading h3,
body.pt-dark-mode .interview-reference-card h3,
body.pt-dark-mode .interview-comparison-card h3,
body.pt-dark-mode .interview-details-card > h3,
body.pt-dark-mode .interview-sidebar-card h2,
body.pt-dark-mode .interview-stat-value,
body.pt-dark-mode .interview-ai-score-item strong,
body.pt-dark-mode .interview-ai-consent-window h2,
body.pt-dark-mode .pt-form-grid label,
body.pt-dark-mode .interview-reference-details summary,
body.pt-dark-mode .interview-ai-feedback-grid summary,
body.pt-dark-mode .pt-form-grid input,
body.pt-dark-mode .pt-form-grid select,
body.pt-dark-mode .pt-form-grid textarea,
body.pt-dark-mode .interview-select,
body.pt-dark-mode .interview-answer-input,
body.pt-dark-mode .interview-minimal-answer-card .interview-reference-stage,
body.pt-dark-mode .interview-recording-clock,
body.pt-dark-mode .interview-minimal-answer-card .interview-reference-content,
body.pt-dark-mode .interview-choice-button,
body.pt-dark-mode .interview-secondary-button,
body.pt-dark-mode .interview-rating-button,
body.pt-dark-mode .module-secondary-tools button,
body.pt-dark-mode .app-back-button,
body.pt-dark-mode .study-window-secondary,
body.pt-dark-mode .pt-secondary-button,
body.pt-dark-mode .pt-auth-secondary,
body.pt-dark-mode .pt-auth-primary,
body.pt-dark-mode .utility-top-button,
body.pt-dark-mode .pt-close-button,
body.pt-dark-mode .ownership-note,
body.pt-dark-mode .legal-footer-links a,
body.pt-dark-mode .legal-footer-links button,
body.pt-dark-mode .pt-account-toast,
body.pt-dark-mode #quizArea .card,
body.pt-dark-mode #resultArea .card,
body.pt-dark-mode #quizArea .question-title,
body.pt-dark-mode #quizArea h2,
body.pt-dark-mode #quizArea h3,
body.pt-dark-mode #quizArea .result,
body.pt-dark-mode #resultArea .question-title,
body.pt-dark-mode #resultArea h2,
body.pt-dark-mode #resultArea h3,
body.pt-dark-mode #resultArea .result,
body.pt-dark-mode .option,
body.pt-dark-mode label.option,
body.pt-dark-mode .answer-row,
body.pt-dark-mode .step-row,
body.pt-dark-mode .write-row,
body.pt-dark-mode .session-panel,
body.pt-dark-mode .option span,
body.pt-dark-mode .option strong,
body.pt-dark-mode .step-text,
body.pt-dark-mode .write-input,
body.pt-dark-mode #quizArea input[type="text"],
body.pt-dark-mode #quizArea textarea,
body.pt-dark-mode #quizArea .mode-bar,
body.pt-dark-mode #quizArea .subtab-bar,
body.pt-dark-mode #quizArea .selection-tools,
body.pt-dark-mode #quizArea .step-item,
body.pt-dark-mode #quizArea .cockpit-flow-progress-item,
body.pt-dark-mode #quizArea .cockpit-flow-action-panel,
body.pt-dark-mode #quizArea .cockpit-flow-review-box,
body.pt-dark-mode #quizArea .cockpit-flow-control-button,
body.pt-dark-mode #quizArea .cockpit-reference-switch,
body.pt-dark-mode #quizArea .cockpit-flow-title,
body.pt-dark-mode #quizArea .cockpit-flow-review-box li,
body.pt-dark-mode #quizArea .cockpit-flow-action-panel .small,
body.pt-dark-mode #quizArea .module-action-card strong,
body.pt-dark-mode #quizArea .cockpit-flow-select,
body.pt-dark-mode #quizArea .cockpit-flow-mode-button:not(.active),
body.pt-dark-mode #quizArea .mode-button:not(.active),
body.pt-dark-mode #quizArea .cockpit-reference-button:not(.active),
body.pt-dark-mode .session-result-stat strong,
body.pt-dark-mode .session-result-copy,
body.pt-dark-mode .activity-chart-section h2,
body.pt-dark-mode .statistics-summary-value,
body.pt-dark-mode .cockpit-reference-fixed {
  color: var(--pt-dark-text) !important;
}

body.pt-dark-mode .pt-landing-auth-head span,
body.pt-dark-mode .pt-profile-identity p,
body.pt-dark-mode .pt-profile-section-title span,
body.pt-dark-mode .pt-profile-help,
body.pt-dark-mode .pt-auth-field label,
body.pt-dark-mode .pt-auth-label,
body.pt-dark-mode .pt-auth-checkbox,
body.pt-dark-mode .pt-view-heading p,
body.pt-dark-mode .pt-muted,
body.pt-dark-mode #statsArea .stat-label,
body.pt-dark-mode .pt-modal-subtitle,
body.pt-dark-mode .guide-box p,
body.pt-dark-mode .dashboard-stat-label,
body.pt-dark-mode .interview-section-copy,
body.pt-dark-mode .interview-field-label,
body.pt-dark-mode .interview-position,
body.pt-dark-mode .interview-reference-answer,
body.pt-dark-mode .interview-user-answer,
body.pt-dark-mode .interview-reference-details ul,
body.pt-dark-mode .interview-comparison-label,
body.pt-dark-mode .interview-stat-label,
body.pt-dark-mode .interview-progress-label,
body.pt-dark-mode .interview-progress-value,
body.pt-dark-mode .interview-minimal-status,
body.pt-dark-mode .interview-ai-consent-window p,
body.pt-dark-mode .pt-access-banner span,
body.pt-dark-mode #quizArea .meta,
body.pt-dark-mode #quizArea .small,
body.pt-dark-mode #resultArea .meta,
body.pt-dark-mode #resultArea .small,
body.pt-dark-mode .session-note,
body.pt-dark-mode .session-position,
body.pt-dark-mode #quizArea .drag-handle,
body.pt-dark-mode #quizArea .row-number,
body.pt-dark-mode #quizArea .cockpit-flow-meta,
body.pt-dark-mode #quizArea .cockpit-flow-photo-header,
body.pt-dark-mode #quizArea .cockpit-flow-utility-title,
body.pt-dark-mode #quizArea .cockpit-flow-mobile-note,
body.pt-dark-mode #quizArea .cockpit-flow-zoom-status,
body.pt-dark-mode #quizArea .module-header-card p,
body.pt-dark-mode #quizArea .module-action-card span,
body.pt-dark-mode #quizArea .module-action-caption,
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.hidden-step,
body.pt-dark-mode .session-result-stat span,
body.pt-dark-mode .activity-chart-axis,
body.pt-dark-mode .activity-chart-legend-item,
body.pt-dark-mode .statistics-summary-label {
  color: var(--pt-dark-muted) !important;
  fill: var(--pt-dark-muted) !important;
}

.session-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.session-result-stat {
  padding: 16px;
  border: 1px solid #d5dfeb;
  border-radius: 12px;
  background: #f7faff;
  text-align: center;
}
.session-result-stat span { display: block; color: #52677f; font-size: 13px; }
.session-result-stat strong { display: block; margin-top: 5px; color: #102a43; font-size: 28px; }
.session-result-copy { margin: 0 0 18px; }
.session-finish-actions { justify-content: center; }
body.pt-dark-mode .session-result-stat {
  background: #13243a;
  border-color: #415a75;
}
body.pt-dark-mode .session-result-stat span { color: var(--pt-dark-muted); }
body.pt-dark-mode .session-result-stat strong,
body.pt-dark-mode .session-result-copy { color: var(--pt-dark-text); }
@media (max-width: 640px) {
  .session-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .session-finish-actions { display: grid; grid-template-columns: 1fr; }
  .session-finish-actions button { width: 100%; }
}
@media (max-width: 600px) {
  .pt-account-toast { left: 16px; right: 16px; bottom: 16px; max-width: none; }
}

.pt-confirmation-heading { margin: 0 0 20px; }
.pt-confirmation-email { overflow-wrap: anywhere; font-weight: 800; }
body.pt-dark-mode .pt-confirmation-heading h3,
body.pt-dark-mode .pt-confirmation-heading .pt-confirmation-email {
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode .pt-auth-link-button { color: var(--pt-dark-text) !important; }

/* v7.6 fix: target the real Guide card, not the unused .guide-window class.
   These scoped selectors also override the later inline light-theme rules. */
body.pt-dark-mode .utility-top-button:not(.pt-account-button),
body.pt-dark-mode #userGuideModal .guide-card,
body.pt-dark-mode #userGuideModal .guide-header {
  background: #101d2d !important;
  border-color: #415a75 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #userGuideModal .guide-box,
body.pt-dark-mode #userGuideModal .guide-dont-show-option,
body.pt-dark-mode #userGuideModal .guide-final {
  background: #13243a !important;
  border-color: #415a75 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #userGuideModal .guide-title,
body.pt-dark-mode #userGuideModal .guide-box h3,
body.pt-dark-mode #userGuideModal .guide-box strong,
body.pt-dark-mode #userGuideModal .guide-dont-show-option label,
body.pt-dark-mode #userGuideModal .guide-dont-show-option span {
  background: transparent !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #userGuideModal .guide-box p {
  color: var(--pt-dark-muted) !important;
}
body.pt-dark-mode #userGuideModal .guide-source-link { border-color: #415a75 !important; }
body.pt-dark-mode #userGuideModal .guide-source-link a {
  color: var(--pt-dark-text) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.pt-dark-mode #userGuideModal .guide-language-nav,
body.pt-dark-mode #userGuideModal .guide-language-nav button,
body.pt-dark-mode #userGuideModal .guide-close,
body.pt-dark-mode #userGuideModal .guide-kicker,
body.pt-dark-mode #userGuideModal .guide-icon {
  background: #1a2d44 !important;
  border-color: #415a75 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #userGuideModal .guide-language-nav button.active,
body.pt-dark-mode #userGuideModal .guide-ok-button {
  background: #1e4675 !important;
  border-color: #60a5fa !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #userGuideModal .flow-guide-icon {
  background: #3b2a18 !important;
  border-color: #c27a32 !important;
  color: #ffd3a3 !important;
}
body.pt-dark-mode #userGuideModal .guide-language-nav button:focus-visible,
body.pt-dark-mode #userGuideModal .guide-ok-button:focus-visible,
body.pt-dark-mode #userGuideModal .guide-close:focus-visible {
  outline: 3px solid #f2e8d5;
  outline-offset: 2px;
}

/* Emergency / Abnormal: give each control a matching dark background and
   preserve distinct current, completed, caution and error states. */
body.pt-dark-mode #quizArea .module-step-kicker,
body.pt-dark-mode #quizArea .cockpit-reference-title {
  color: var(--pt-dark-muted) !important;
}
body.pt-dark-mode #quizArea .module-action-card .module-action-badge,
body.pt-dark-mode #quizArea .cockpit-reference-fixed,
body.pt-dark-mode #quizArea .cockpit-flow-pill {
  background: #19324d !important;
  border-color: #415a75 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-mode-button,
body.pt-dark-mode #quizArea .cockpit-flow-hint-icon-button,
body.pt-dark-mode #quizArea .cockpit-flow-zoom-button,
body.pt-dark-mode #quizArea .cockpit-flow-control-button,
body.pt-dark-mode #quizArea .report-inline-button,
body.pt-dark-mode #quizArea .cockpit-flow-training-note {
  background: #1a2d44 !important;
  border-color: #415a75 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-mode-button.active,
body.pt-dark-mode #quizArea .cockpit-flow-action-box,
body.pt-dark-mode #quizArea .cockpit-flow-complete-box .primary {
  background: #1e4675 !important;
  border-color: #60a5fa !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-action-box:hover {
  background: #244f80 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-action-box.current-action {
  border-color: #fbbf24 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-action-title {
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.current {
  background: #19324d !important;
  border-color: #60a5fa !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.done,
body.pt-dark-mode #quizArea .cockpit-flow-action-box.correct,
body.pt-dark-mode #quizArea .cockpit-flow-feedback.ok,
body.pt-dark-mode #quizArea .cockpit-flow-complete-box {
  background: #123b2b !important;
  border-color: #3e9b73 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.info,
body.pt-dark-mode #quizArea .cockpit-flow-control-button.restart {
  background: #3b2a18 !important;
  border-color: #c27a32 !important;
  color: #ffd3a3 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-caution-label {
  background: #753111 !important;
  color: #ffe2bc !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-feedback.bad {
  background: #482323 !important;
  border-color: #ad5b5b !important;
  color: #ffe2bc !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-progress-item.hidden-step,
body.pt-dark-mode #quizArea .cockpit-flow-photo-header {
  color: var(--pt-dark-muted) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-photo-header strong {
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-context-footer {
  border-color: #415a75 !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-success-toast {
  background: #123b2b !important;
  border-color: #3e9b73 !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-success-kicker,
body.pt-dark-mode #quizArea .cockpit-flow-success-copy {
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-hotspot-label {
  background: #101d2d !important;
  color: var(--pt-dark-text) !important;
}
body.pt-dark-mode #quizArea .cockpit-flow-mode-button:focus-visible,
body.pt-dark-mode #quizArea .cockpit-flow-hint-icon-button:focus-visible,
body.pt-dark-mode #quizArea .cockpit-flow-zoom-button:focus-visible,
body.pt-dark-mode #quizArea .cockpit-flow-control-button:focus-visible,
body.pt-dark-mode #quizArea .cockpit-flow-action-box:focus-visible {
  outline: 3px solid #f2e8d5;
  outline-offset: 2px;
}
