/*
 * Italiani Volanti portal
 * Shared UI layer for the demo portal.
 *
 * This file is intentionally loaded after the legacy theme styles. It unifies
 * the shell and the operational pages without changing their markup or flows.
 */

:root {
  --iv-font-body: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  --iv-font-display: "Manrope", "Inter", "Segoe UI", Arial, sans-serif;
  --iv-font-data: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  /* Shared type scale. Do not introduce page-local text below --iv-type-overline. */
  --iv-type-overline: 11px;
  --iv-type-caption: 12px;
  --iv-type-small: 13px;
  --iv-type-body: 15px;
  --iv-type-lead: 17px;
  --iv-type-table: 13px;
  --iv-weight-action: 600;
  --iv-bg: #f2f6fb;
  --iv-surface: #ffffff;
  --iv-surface-soft: #f8fafc;
  --iv-surface-raised: #ffffff;
  --iv-text: #10213a;
  --iv-text-strong: #0a172b;
  --iv-muted: #5f6f85;
  --iv-line: #dce5f0;
  --iv-line-strong: #c9d6e6;
  --iv-blue: #1d5fd1;
  --iv-blue-hover: #154da9;
  --iv-blue-soft: #e8f1ff;
  --iv-navy: #0b1930;
  --iv-navy-soft: #122541;
  --iv-cyan: #5bb8f9;
  --iv-success: #1a8f63;
  --iv-success-soft: #dff7ed;
  --iv-warning: #8a5600;
  --iv-warning-soft: #fff0d6;
  --iv-danger: #b4233a;
  --iv-danger-soft: #fde8ec;
  --iv-profile-ink: #10213a;
  --iv-profile-muted: #5f6f85;
  --iv-profile-line: #dce5f0;
  --iv-profile-blue: #1769e0;
  --iv-radius-sm: 9px;
  --iv-radius: 14px;
  --iv-radius-lg: 18px;
  --iv-shadow-sm: 0 5px 16px rgba(18, 43, 75, 0.06);
  --iv-shadow: 0 12px 34px rgba(18, 43, 75, 0.09);
  --iv-focus: 0 0 0 3px rgba(23, 105, 224, 0.28);
}

/* Profile email preferences - compact cockpit communications panel */
body.iv2026-shell .iv-settings__email-panel {
  position: relative;
  margin-top: 24px;
  scroll-margin-top: 112px;
}

body.iv2026-shell .iv-settings__email-form {
  padding: 24px 30px 27px;
}

body.iv2026-shell .iv-settings__email-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.iv2026-shell .iv-settings__email-grid > .iv-settings__email-option:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

body.iv2026-shell .iv-settings__email-option {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 48px;
  gap: 13px;
  align-items: center;
  min-height: 92px;
  margin: 0;
  padding: 16px;
  border: 1px solid #d7e2ec;
  border-radius: 15px;
  color: #173552;
  background: #fbfdff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.iv2026-shell .iv-settings__email-option:hover {
  border-color: #9ec4e2;
  box-shadow: 0 9px 22px rgba(25, 83, 132, .09);
  transform: translateY(-1px);
}

body.iv2026-shell .iv-settings__email-option:focus-within {
  border-color: #2384c9;
  box-shadow: 0 0 0 3px rgba(35, 132, 201, .14);
}

body.iv2026-shell .iv-settings__email-option-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  font-size: 16px;
}

body.iv2026-shell .iv-settings__email-option-icon.is-red { color: #b52f45; background: #ffedf1; }
body.iv2026-shell .iv-settings__email-option-icon.is-blue { color: #176fb0; background: #e9f4fc; }
body.iv2026-shell .iv-settings__email-option-icon.is-gold { color: #996308; background: #fff4db; }
body.iv2026-shell .iv-settings__email-option-icon.is-violet { color: #6650b7; background: #f0edff; }
body.iv2026-shell .iv-settings__email-option-icon.is-green { color: #087956; background: #e7f7f1; }
body.iv2026-shell .iv-settings__email-option-icon.is-cyan { color: #197ca6; background: #e7f7fc; }

body.iv2026-shell .iv-settings__email-option-copy {
  min-width: 0;
}

body.iv2026-shell .iv-settings__email-option-copy strong,
body.iv2026-shell .iv-settings__email-option-copy small {
  display: block;
}

body.iv2026-shell .iv-settings__email-option-copy strong {
  margin-bottom: 5px;
  color: #173552;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.25;
}

body.iv2026-shell .iv-settings__email-option-copy small {
  color: #667b90;
  font-size: 11px;
  line-height: 1.45;
}

body.iv2026-shell .iv-settings__switch {
  position: relative;
  display: inline-flex;
  width: 46px;
  height: 26px;
  justify-self: end;
}

body.iv2026-shell .iv-settings__switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

body.iv2026-shell .iv-settings__switch > span {
  position: absolute;
  inset: 0;
  border: 1px solid #aebdcc;
  border-radius: 999px;
  background: #cbd5df;
  box-shadow: inset 0 1px 3px rgba(12, 35, 57, .14);
  transition: background .18s ease, border-color .18s ease;
}

body.iv2026-shell .iv-settings__switch > span::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  content: "";
  background: #fff;
  box-shadow: 0 2px 6px rgba(8, 29, 49, .28);
  transition: transform .18s ease;
}

body.iv2026-shell .iv-settings__switch input:checked + span {
  border-color: #0f855b;
  background: #159563;
}

body.iv2026-shell .iv-settings__switch input:checked + span::after {
  transform: translateX(20px);
}

body.iv2026-shell .iv-settings__switch input:focus-visible + span {
  box-shadow: 0 0 0 3px rgba(35, 132, 201, .2);
}

body.iv2026-shell .iv-settings__email-footer {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e0e8f0;
}

body.iv2026-shell .iv-settings__email-footer p {
  margin: 0;
  color: #6b7f92;
  font-size: 11px;
  line-height: 1.45;
}

body.iv2026-shell .iv-settings__email-footer p i {
  margin-right: 5px;
  color: #2384c9;
}

@media (max-width: 991.98px) {
  body.iv2026-shell .iv-settings__email-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  body.iv2026-shell .iv-settings__email-form {
    padding-right: 18px;
    padding-left: 18px;
  }

  body.iv2026-shell .iv-settings__email-option {
    grid-template-columns: 38px minmax(0, 1fr) 46px;
    gap: 10px;
    padding: 14px;
  }

  body.iv2026-shell .iv-settings__email-option-icon {
    width: 38px;
    height: 38px;
  }

  body.iv2026-shell .iv-settings__email-footer {
    align-items: stretch;
    flex-direction: column;
  }

  body.iv2026-shell .iv-settings__email-footer .iv-settings__button {
    justify-content: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.iv2026-shell .iv-settings__email-option,
  body.iv2026-shell .iv-settings__switch > span,
  body.iv2026-shell .iv-settings__switch > span::after {
    transition: none;
  }
}

/* Mobile audit 2026-08-20: keep residual operational pages and touch help usable. */
body.iv2026-shell .ivn-mini-stats small,
body.iv2026-shell .ivn-fact small,
body.iv2026-shell .ivn-table th {
  font-size: 12px;
  line-height: 1.35;
}

.iv-mobile-tooltip {
  position: fixed;
  z-index: 2200;
  box-sizing: border-box;
  width: min(290px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  padding: 12px 14px;
  overflow-y: auto;
  border: 1px solid #cad8ea;
  border-radius: 12px;
  color: #1c3553;
  background: #ffffff;
  box-shadow: 0 16px 42px rgba(17, 42, 76, .2);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
  text-align: left;
}

body.iv2026-shell.dark-mode .iv-mobile-tooltip {
  border-color: #344762;
  color: #eef4ff;
  background: #18253a;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .46);
}

@media (max-width: 760px) {
  body.iv2026-shell .ivn-layout > *,
  body.iv2026-shell .ivn-layout > main,
  body.iv2026-shell .ivn-panel,
  body.iv2026-shell .ivn-map,
  body.iv2026-shell .ivn-table-wrap {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body.iv2026-shell .ivn-table-wrap {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.iv2026-shell .ivt-leg-meetup-chip {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
    white-space: normal;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  body.iv2026-shell .ivt-leg-meetup-chip :where(span, strong) {
    min-width: 0;
    white-space: normal;
  }

  body.iv2026-shell .ivfp-wingman-goal {
    position: relative;
  }

  body.iv2026-shell .ivfp-wingman-help-wrap {
    position: static;
  }

  body.iv2026-shell .ivfp-wingman-tooltip {
    right: 0;
    left: auto;
    box-sizing: border-box;
    width: min(290px, calc(100vw - 48px));
    max-width: calc(100vw - 48px);
  }
}

/* Profile settings - balanced pilot identity and communications layout */
body.iv2026-shell .iv-settings__primary-grid,
body.iv2026-shell .iv-settings__secondary-grid {
  display: grid;
  align-items: stretch;
  gap: 18px;
}

body.iv2026-shell .iv-settings__primary-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .75fr);
}

body.iv2026-shell .iv-settings__secondary-grid {
  grid-template-columns: minmax(310px, 1fr) minmax(0, 2fr);
  margin-top: 18px;
}

body.iv2026-shell .iv-settings__primary-profile,
body.iv2026-shell .iv-settings__primary-photo,
body.iv2026-shell .iv-settings__primary-grid > *,
body.iv2026-shell .iv-settings__secondary-grid > * {
  min-width: 0;
}

body.iv2026-shell .iv-settings__primary-grid .iv-settings__card,
body.iv2026-shell .iv-settings__secondary-grid .iv-settings__card,
body.iv2026-shell .iv-settings__secondary-grid .iv-settings__email-panel {
  height: 100%;
}

body.iv2026-shell .iv-settings__primary-grid .iv-settings__card,
body.iv2026-shell .iv-settings__security-card {
  display: flex;
  flex-direction: column;
}

body.iv2026-shell .iv-settings__primary-grid .iv-settings__form,
body.iv2026-shell .iv-settings__security-card .iv-settings__form,
body.iv2026-shell #immagine-profilo .iv-settings__avatar-form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

body.iv2026-shell #immagine-profilo .iv-settings__avatar-form {
  grid-template-columns: none;
  grid-template-areas: none;
  align-items: stretch;
}

body.iv2026-shell .iv-settings__primary-profile .iv-settings__form-footer,
body.iv2026-shell .iv-settings__security-card .iv-settings__button--full,
body.iv2026-shell #immagine-profilo .iv-settings__button--full {
  margin-top: auto;
}

body.iv2026-shell .iv-settings__primary-photo .iv-settings__avatar-form {
  gap: 16px;
  padding: 22px;
}

body.iv2026-shell #immagine-profilo .iv-settings__avatar-preview {
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 16px;
  margin: 0;
}

body.iv2026-shell .iv-settings__identity-avatar,
body.iv2026-shell .iv-settings__avatar-media {
  position: relative;
  display: grid;
  overflow: hidden;
  place-items: center;
  border: 3px solid #fff;
  background: #edf3f8;
  box-shadow: 0 9px 24px rgba(8, 34, 62, .18);
}

body.iv2026-shell .iv-settings__identity-avatar {
  width: 76px;
  height: 76px;
  border-color: rgba(255, 255, 255, .88);
  border-radius: 16px;
}

body.iv2026-shell .iv-settings__avatar-media {
  width: 88px;
  height: 88px;
  border-radius: 18px;
}

body.iv2026-shell .iv-settings__identity-avatar > img,
body.iv2026-shell .iv-settings__avatar-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.iv2026-shell #immagine-profilo .iv-settings__file-picker {
  margin-top: 2px;
}

body.iv2026-shell #immagine-profilo .iv-settings__avatar-note {
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid #dce5f0;
}

body.iv2026-shell .iv-settings__secondary-grid .iv-settings__email-panel {
  margin-top: 0;
}

body.iv2026-shell .iv-settings__secondary-grid .iv-settings__email-form {
  padding: 20px 24px 24px;
}

body.iv2026-shell .iv-settings__secondary-grid .iv-settings__email-option {
  min-height: 98px;
  padding: 14px;
}

body.iv2026-shell .iv-settings__security-card .iv-settings__form--compact {
  padding-bottom: 22px;
}

@media (max-width: 1100px) {
  body.iv2026-shell .iv-settings__primary-grid,
  body.iv2026-shell .iv-settings__secondary-grid {
    grid-template-columns: 1fr;
  }

  body.iv2026-shell .iv-settings__primary-grid .iv-settings__card,
  body.iv2026-shell .iv-settings__secondary-grid .iv-settings__card,
  body.iv2026-shell .iv-settings__secondary-grid .iv-settings__email-panel {
    height: auto;
  }
}

@media (max-width: 620px) {
  body.iv2026-shell .iv-settings__identity-avatar {
    width: 62px;
    height: 62px;
    border-radius: 14px;
  }

  body.iv2026-shell #immagine-profilo .iv-settings__avatar-preview {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  body.iv2026-shell .iv-settings__avatar-media {
    width: 70px;
    height: 70px;
    border-radius: 15px;
  }

}

body.iv2026-shell.dark-mode {
  --iv-bg: #0c1324;
  --iv-surface: #151d31;
  --iv-surface-soft: #1a2539;
  --iv-surface-raised: #1b263c;
  --iv-text: #eef4ff;
  --iv-text-strong: #ffffff;
  --iv-muted: #aab7ca;
  --iv-line: #2d3b55;
  --iv-line-strong: #3a4b68;
  --iv-blue: #66a9ff;
  --iv-blue-hover: #8fc0ff;
  --iv-blue-soft: #18345b;
  --iv-navy: #08111f;
  --iv-navy-soft: #101f35;
  --iv-success: #55d6ad;
  --iv-success-soft: #153e36;
  --iv-warning: #ffd083;
  --iv-warning-soft: #44351d;
  --iv-danger: #ff91a2;
  --iv-danger-soft: #4b2430;
  --iv-profile-ink: #eef4ff;
  --iv-profile-muted: #aab7ca;
  --iv-profile-line: #2d3b55;
  --iv-profile-blue: #66a9ff;
  --iv-shadow-sm: 0 7px 20px rgba(0, 0, 0, 0.2);
  --iv-shadow: 0 16px 38px rgba(0, 0, 0, 0.26);
}

html {
  scroll-padding-top: 96px;
}

body.iv2026-shell {
  min-width: 320px;
  color: var(--iv-text);
  background:
    radial-gradient(circle at 84% -12%, rgba(54, 163, 255, 0.08), transparent 30rem),
    var(--iv-bg);
  font-family: var(--iv-font-body);
  font-size: var(--iv-type-body);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.iv2026-shell *,
body.iv2026-shell *::before,
body.iv2026-shell *::after {
  box-sizing: border-box;
}

body.iv2026-shell a {
  color: var(--iv-blue);
  text-underline-offset: 0.18em;
}

body.iv2026-shell a:hover {
  color: var(--iv-blue-hover);
}

body.iv2026-shell img {
  max-width: 100%;
}

body.iv2026-shell :where(button, input, select, textarea) {
  font-family: inherit;
}

/* Keep every interactive control readable without heavy, cramped lettering. */
body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  [role="button"],
  a[class*="btn"],
  a[class*="button"],
  a[class*="action"],
  a[class*="open"],
  a[class*="cta"],
  [class$="-btn"],
  [class*="-btn "],
  details > summary,
  .ivhome-section-head > a,
  .ivhome-event-invite > a,
  .ivhome-passport-page > a
) {
  font-weight: var(--iv-weight-action) !important;
}

/* Child labels must not restore page-local 800/900 weights inside actions. */
body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  [role="button"],
  a[class*="btn"],
  a[class*="button"],
  a[class*="action"],
  a[class*="open"],
  a[class*="cta"],
  [class$="-btn"],
  [class*="-btn "],
  details > summary,
  .ivhome-section-head > a,
  .ivhome-event-invite > a,
  .ivhome-passport-page > a
) :where(span, strong, b) {
  font-weight: var(--iv-weight-action) !important;
}

.iv-skip-link {
  position: fixed;
  z-index: 100000;
  top: 10px;
  left: 12px;
  padding: 10px 14px;
  border-radius: var(--iv-radius-sm);
  color: #fff !important;
  background: var(--iv-blue);
  box-shadow: var(--iv-shadow);
  transform: translateY(-160%);
  transition: transform 0.15s ease;
}

.iv-skip-link:focus {
  transform: translateY(0);
}

body.iv2026-shell :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid transparent !important;
  box-shadow: var(--iv-focus) !important;
}

body.iv2026-shell .container {
  width: min(100% - 30px, 1320px);
  max-width: 1320px;
}

body.iv2026-shell .page,
body.iv2026-shell .page-main {
  background: transparent;
}

body.iv2026-shell .main-content {
  min-height: calc(100vh - 150px);
  padding: 18px 0 46px;
}

body.iv2026-shell #iv-main-content {
  outline: none;
}

/* Header */
body.iv2026-shell .hor-header.header {
  position: relative;
  z-index: 1030 !important;
  min-height: 82px;
  padding: 0 !important;
  color: #fff;
  background:
    radial-gradient(circle at 14% -120%, rgba(79, 185, 232, 0.4), transparent 23rem),
    linear-gradient(112deg, #06162d 0%, #0a2548 54%, #0d315e 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 26px rgba(4, 18, 38, 0.18);
  backdrop-filter: blur(14px);
}

body.iv2026-shell .hor-header.header > .container > .d-flex {
  min-height: 82px;
  align-items: center;
}

body.iv2026-shell .header-brand {
  display: inline-flex;
  align-items: center;
  flex: none;
}

body.iv2026-shell .header-brand-img {
  object-fit: contain;
}

body.iv2026-shell .iv-header-brand {
  min-width: 190px;
  gap: 15px;
  border-radius: 12px;
  transition: none;
}

body.iv2026-shell .iv-header-brand:hover {
  opacity: 1;
  transform: none;
}

body.iv2026-shell .iv-header-logo {
  width: 120px;
  height: 72px;
  object-fit: contain;
  object-position: left center;
  filter: none;
}

body.iv2026-shell .iv-header-anniversary {
  width: 64px;
  height: 56px;
  object-fit: contain;
  opacity: 1;
}

body.iv2026-shell .header .header-right {
  align-items: center;
  gap: 4px;
}

body.iv2026-shell .header .nav-link.icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #eaf3ff;
  background: transparent !important;
  cursor: pointer;
}

body.iv2026-shell .header .nav-link.icon:hover,
body.iv2026-shell .header .nav-link.icon:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.16);
}

body.iv2026-shell .header .nav-link.icon i,
body.iv2026-shell.dark-mode .header .nav-link.icon i {
  color: currentColor;
  font-size: 22px;
}

body.iv2026-shell .header .nav-link.icon svg {
  display: block;
}

body.iv2026-shell .header a.iv-header-discord {
  display: inline-flex;
  width: 46px;
  height: 42px;
  flex: none;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.iv2026-shell .header a.iv-header-discord img {
  display: block;
  width: 27px;
  height: 21px;
  max-width: none;
  object-fit: contain;
  opacity: .96;
  filter: drop-shadow(0 2px 4px rgba(2, 8, 28, .22));
  transition: opacity 160ms ease, transform 160ms ease;
}

body.iv2026-shell .header a.iv-header-discord:hover,
body.iv2026-shell .header a.iv-header-discord:focus-visible {
  border-color: transparent;
  color: #fff !important;
  background: rgba(88, 101, 242, .9) !important;
  box-shadow: 0 7px 18px rgba(8, 14, 49, .24), inset 0 0 0 1px rgba(224, 227, 255, .22);
  transform: translateY(-1px);
}

body.iv2026-shell .header a.iv-header-discord:hover img,
body.iv2026-shell .header a.iv-header-discord:focus-visible img {
  opacity: 1;
  transform: scale(1.06);
}

body.iv2026-shell .header a.iv-header-discord:active { transform: translateY(0); }

body.iv2026-shell .header a.iv-header-control {
  position: relative;
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: none;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #eaf3ff !important;
  background: transparent !important;
  box-shadow: none;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.iv2026-shell .header a.iv-header-control i,
body.iv2026-shell .header a.iv-header-control i::before {
  color: currentColor !important;
  font-size: 22px;
}

body.iv2026-shell .header a.iv-header-theme-toggle:hover,
body.iv2026-shell .header a.iv-header-theme-toggle:focus-visible,
body.iv2026-shell .header #tasto-scuro:hover > a.iv-header-theme-toggle,
body.iv2026-shell .header #tasto-chiaro:hover > a.iv-header-theme-toggle,
body.iv2026-shell .header #tasto-scuro:focus-within > a.iv-header-theme-toggle,
body.iv2026-shell .header #tasto-chiaro:focus-within > a.iv-header-theme-toggle {
  color: #ffd77d !important;
  background: rgba(255, 196, 92, .13) !important;
  border-color: rgba(255, 215, 125, .24);
  box-shadow: 0 7px 18px rgba(8, 14, 49, .18);
  transform: translateY(-1px);
}

body.iv2026-shell .header a.iv-header-notify-toggle:hover,
body.iv2026-shell .header a.iv-header-notify-toggle:focus-visible,
body.iv2026-shell .header .header-notify:hover > a.iv-header-notify-toggle,
body.iv2026-shell .header .header-notify.show > a.iv-header-notify-toggle {
  color: #bfe7ff !important;
  background: rgba(77, 178, 241, .14) !important;
  border-color: rgba(166, 221, 255, .24);
  box-shadow: 0 7px 18px rgba(8, 14, 49, .18);
  transform: translateY(-1px);
}

body.iv2026-shell .header a.iv-header-control:hover i,
body.iv2026-shell .header a.iv-header-control:hover i::before,
body.iv2026-shell .header a.iv-header-control:focus-visible i,
body.iv2026-shell .header a.iv-header-control:focus-visible i::before,
body.iv2026-shell .header #tasto-scuro:hover > a.iv-header-control i,
body.iv2026-shell .header #tasto-scuro:hover > a.iv-header-control i::before,
body.iv2026-shell .header #tasto-chiaro:hover > a.iv-header-control i,
body.iv2026-shell .header #tasto-chiaro:hover > a.iv-header-control i::before,
body.iv2026-shell .header .header-notify:hover > a.iv-header-control i,
body.iv2026-shell .header .header-notify:hover > a.iv-header-control i::before {
  color: currentColor !important;
}

body.iv2026-shell .header a.iv-header-control:active { transform: translateY(0); }

body.iv2026-shell .iv-notification-counter {
  position: absolute;
  top: 2px;
  right: 1px;
  display: grid;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  place-items: center;
  border: 2px solid #102754;
  border-radius: 999px;
  color: #fff;
  background: #e6465f;
  box-shadow: 0 3px 8px rgba(8, 20, 48, .28);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

body.iv2026-shell .iv-notification-counter.is-hidden { display: none; }

body.iv2026-shell .iv-header-auth-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 6px;
}

body.iv2026-shell .iv-header-auth-action {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.iv2026-shell .iv-header-auth-action i {
  color: currentColor;
  font-size: 14px;
}

body.iv2026-shell .iv-header-auth-login {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.58);
}

body.iv2026-shell .iv-header-auth-login:hover,
body.iv2026-shell .iv-header-auth-login:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.15);
  border-color: #fff;
  text-decoration: none;
}

body.iv2026-shell .iv-header-auth-register {
  color: #092245 !important;
  background: #fff;
  border-color: #fff;
  box-shadow: 0 6px 16px rgba(3, 14, 34, 0.2);
}

body.iv2026-shell .iv-header-auth-register:hover,
body.iv2026-shell .iv-header-auth-register:focus-visible {
  color: #061a36 !important;
  background: #dcecff;
  border-color: #dcecff;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(3, 14, 34, 0.26);
}

body.iv2026-shell .drop-profile > .nav-link {
  display: flex;
  min-height: 46px;
  align-items: center;
  padding: 4px 7px 4px 10px !important;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #fff;
}

body.iv2026-shell .drop-profile > .nav-link:hover,
body.iv2026-shell .drop-profile.show > .nav-link {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.16);
}

body.iv2026-shell .avatar {
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.78);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}

body.iv2026-shell .iv-header-avatar-fallback {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  place-items: center;
  color: #fff !important;
  background: linear-gradient(145deg, #2386bd, #15558a);
}

body.iv2026-shell .iv-header-avatar-fallback i {
  color: inherit !important;
  font-size: 16px;
  line-height: 1;
}

/* Primary navigation */
body.iv2026-shell .sticky {
  z-index: 1020 !important;
}

@media (min-width: 768px) {
  body.iv2026-shell .horizontalMenucontainer {
    overflow: visible !important;
  }

  body.iv2026-shell .sticky,
  body.iv2026-shell .sticky.sticky-pin {
    position: sticky !important;
    top: 0 !important;
    z-index: 1100 !important;
  }
}

body.iv2026-shell .horizontal-main {
  color: var(--iv-text);
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--iv-line);
  box-shadow: 0 8px 22px rgba(5, 18, 38, 0.08);
  backdrop-filter: blur(16px);
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
  display: flex;
  align-items: center;
  gap: 3px;
}

body.iv2026-shell .iv-simple-nav > li > a {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 8px;
  padding: 14px 13px !important;
  border-radius: 10px;
  color: #263c58 !important;
  font-weight: 720;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

body.iv2026-shell .iv-simple-nav > li > a .hor-icon {
  color: #3975cc !important;
}

body.iv2026-shell .iv-simple-nav > li > a .hor-icon::before {
  color: #3975cc !important;
}

body.iv2026-shell .iv-simple-nav > li > a:hover,
body.iv2026-shell .iv-simple-nav > li:focus-within > a,
body.iv2026-shell .iv-simple-nav > li.is-active > a {
  color: #104d9f !important;
}

body.iv2026-shell .iv-simple-nav > li > a:hover,
body.iv2026-shell .iv-simple-nav > li:focus-within > a {
  background: transparent;
}

body.iv2026-shell .iv-simple-nav > li.is-active > a {
  background: transparent;
}

body.iv2026-shell .iv-simple-nav > li > a:hover .hor-icon::before,
body.iv2026-shell .iv-simple-nav > li:focus-within > a .hor-icon::before,
body.iv2026-shell .iv-simple-nav > li.is-active > a .hor-icon::before {
  color: #1769e0 !important;
}

body.iv2026-shell .iv-simple-nav > li.is-active > a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 99px;
  content: "";
  background: #1d63d8;
}

@media (min-width: 768px) {
  body.iv2026-shell .iv-simple-nav > li > a:hover::after,
  body.iv2026-shell .iv-simple-nav > li:focus-within > a::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 99px;
    content: "";
    background: #1d63d8;
  }
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a {
  margin: 4px 5px;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  color: #fff !important;
  background: var(--iv-blue);
  border-radius: 10px;
  box-shadow: 0 7px 16px rgba(23, 105, 224, 0.26);
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a .hor-icon {
  color: #fff !important;
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a .hor-icon::before {
  color: #fff !important;
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a:hover {
  background: #2d7dea;
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary.is-active > a::after {
  background: #fff;
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu {
  top: calc(100% - 1px) !important;
  overflow: hidden;
  min-width: 210px;
  margin-top: 0 !important;
  padding: 7px;
  border: 1px solid var(--iv-line);
  border-radius: 13px;
  background: var(--iv-surface-raised);
  box-shadow: var(--iv-shadow);
}

/* Desktop submenu lifecycle: unmount closed paint layers, not only opacity. */
@media (min-width: 992px) {
  body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: none;
    transition: none;
  }

  body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li:hover > ul.sub-menu,
  body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li:focus-within:not(:has(> a:focus:not(:focus-visible))) > ul.sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    animation: iv-nav-submenu-enter 140ms ease-out;
  }
}

@keyframes iv-nav-submenu-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a,
body.iv2026-shell.dark-mode .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--iv-text);
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a > i {
  width: 19px;
  flex: 0 0 19px;
  color: #3975cc;
  font-size: 18px;
  text-align: center;
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a > i::before {
  color: #3975cc !important;
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a > .iv-nav-discord-mark {
  display: grid;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  place-items: center;
  border-radius: 6px;
  background: #5865f2;
}

body.iv2026-shell .iv-nav-discord-mark img {
  display: block;
  width: 13px;
  height: 10px;
  object-fit: contain;
}

body.iv2026-shell .iv-nav-activity-alert {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  margin-left: 1px;
  border-radius: 7px;
  color: #fff !important;
  background: #dc3f55;
  box-shadow: 0 4px 10px rgba(190, 34, 59, 0.24);
  animation: iv-nav-activity-ring 600ms ease-in-out 2;
}

body.iv2026-shell .iv-nav-activity-alert > i,
body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a > .iv-nav-activity-alert > i {
  width: auto;
  flex: 0 0 auto;
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
}

body.iv2026-shell .iv-nav-activity-alert > i::before,
body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a > .iv-nav-activity-alert > i::before {
  color: #fff !important;
}

body.iv2026-shell .iv-nav-activity-alert--submenu {
  width: 19px;
  height: 19px;
  flex-basis: 19px;
  margin-left: auto;
  border-radius: 6px;
}

@keyframes iv-nav-activity-ring {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-7deg); }
  75% { transform: rotate(7deg); }
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a::before {
  display: none !important;
  content: none !important;
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li > a:hover {
  color: var(--iv-blue);
  background: var(--iv-blue-soft);
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li.is-active > a,
body.iv2026-shell.dark-mode .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li.is-active > a {
  color: var(--iv-blue);
  background: var(--iv-blue-soft);
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list > li > ul.sub-menu > li.is-active > a::after {
  display: none !important;
  content: none !important;
}

body.iv2026-shell .iv-mobile-brand {
  display: none;
}

body.iv2026-shell .iv-language-switch--mobile {
  display: none;
}

body.iv2026-shell.dark-mode .horizontal-main {
  color: var(--iv-text);
  background: rgba(21, 29, 49, 0.97) !important;
  border-bottom-color: var(--iv-line);
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a {
  color: #eaf2ff !important;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a .hor-icon {
  color: #88b8f5 !important;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a .hor-icon::before {
  color: #88b8f5 !important;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a:hover,
body.iv2026-shell.dark-mode .iv-simple-nav > li:focus-within > a,
body.iv2026-shell.dark-mode .iv-simple-nav > li.is-active > a {
  color: #fff !important;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a:hover,
body.iv2026-shell.dark-mode .iv-simple-nav > li:focus-within > a {
  background: transparent;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li.is-active > a {
  background: transparent;
}

body.iv2026-shell.dark-mode .iv-simple-nav > li > a:hover .hor-icon::before,
body.iv2026-shell.dark-mode .iv-simple-nav > li:focus-within > a .hor-icon::before,
body.iv2026-shell.dark-mode .iv-simple-nav > li.is-active > a .hor-icon::before,
body.iv2026-shell.dark-mode .iv-simple-nav > li.iv-nav-primary > a .hor-icon::before {
  color: #fff !important;
}

/* Dropdowns */
body.iv2026-shell .dropdown-menu {
  z-index: 1040;
  color: var(--iv-text);
  background: var(--iv-surface-raised);
  border: 1px solid var(--iv-line) !important;
  border-top: 0 !important;
  border-radius: 14px;
  box-shadow: var(--iv-shadow);
}

body.iv2026-shell .header .dropdown-menu {
  z-index: 1040;
}

body.iv2026-shell .dropdown-item,
body.iv2026-shell.dark-mode .header .dropdown-item {
  color: var(--iv-text);
  border-color: var(--iv-line);
}

body.iv2026-shell .dropdown-item:hover,
body.iv2026-shell .dropdown-item:focus {
  color: var(--iv-blue);
  background: var(--iv-blue-soft);
}

body.iv2026-shell .dropdown-header.bg-header-image,
body.iv2026-shell .user-profile.bg-header-image {
  background: linear-gradient(120deg, #0e294f, #1769e0) !important;
}

body.iv2026-shell .dropdown-header.bg-header-image :where(h4, h5, p),
body.iv2026-shell .user-profile.bg-header-image :where(h4, h5, p) {
  color: #fff !important;
}

body.iv2026-shell .user-profile.bg-header-image p {
  color: rgba(255, 255, 255, 0.74) !important;
}

body.iv2026-shell .drop-notify {
  max-height: min(430px, 65vh);
  overflow-y: auto;
}

body.iv2026-shell .drop-notify .dropdown-item {
  display: flex;
  align-items: center;
  gap: 11px;
  white-space: normal;
}

body.iv2026-shell .iv-notification-menu {
  width: min(430px, calc(100vw - 18px));
  min-width: 430px;
  overflow: hidden;
  border: 1px solid rgba(28, 57, 105, .12) !important;
  border-radius: 18px !important;
  background: #fff;
  box-shadow: 0 24px 60px rgba(8, 22, 52, .22) !important;
}

body.iv2026-shell .iv-notification-heading {
  display: flex;
  min-height: 120px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 23px 24px 19px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(95, 211, 255, .2), transparent 37%),
    linear-gradient(128deg, #10254e 0%, #174fc0 62%, #167bd3 100%);
}

body.iv2026-shell .iv-notification-kicker {
  display: block;
  margin-bottom: 4px;
  color: #83d5ff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

body.iv2026-shell .iv-notification-heading h5 {
  margin: 0;
  color: #fff !important;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.025em;
}

body.iv2026-shell .iv-notification-summary {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 13px;
  line-height: 1.4;
}

body.iv2026-shell .iv-notification-mark-all {
  flex: 0 0 auto;
  margin-top: 4px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 9px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  transition: background .18s ease, border-color .18s ease;
}

body.iv2026-shell .iv-notification-mark-all:hover,
body.iv2026-shell .iv-notification-mark-all:focus-visible {
  border-color: rgba(255, 255, 255, .42);
  color: #fff;
  background: rgba(255, 255, 255, .18);
  outline: none;
}

body.iv2026-shell .iv-notification-mark-all:disabled { opacity: .68; }
body.iv2026-shell .iv-notification-mark-all.is-hidden { visibility: hidden; }

body.iv2026-shell .iv-notification-filters {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
  border-bottom: 1px solid #e7edf6;
  background: #f8fafd;
}

body.iv2026-shell .iv-notification-filters button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #60708a;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

body.iv2026-shell .iv-notification-filters button span {
  display: grid;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  color: #5e6c83;
  background: #e8edf5;
  font-size: 11px;
  font-weight: 700;
}

body.iv2026-shell .iv-notification-filters button:hover,
body.iv2026-shell .iv-notification-filters button:focus-visible {
  color: #174fc0;
  background: #eef4ff;
  outline: none;
}

body.iv2026-shell .iv-notification-filters button.is-active {
  border-color: #cfdcf3;
  color: #124aa8;
  background: #fff;
  box-shadow: 0 4px 12px rgba(25, 63, 126, .08);
}

body.iv2026-shell .iv-notification-filters button.is-active span {
  color: #fff;
  background: #1769e0;
}

body.iv2026-shell .iv-notification-list {
  max-height: min(430px, 56vh);
  padding: 7px;
  background: #fff;
  overscroll-behavior: contain;
}

body.iv2026-shell .iv-notification-item {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
  min-height: 90px;
  padding: 13px 12px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #17233b;
  background: #fff;
  text-decoration: none !important;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.iv2026-shell .iv-notification-item + .iv-notification-item { margin-top: 4px; }

body.iv2026-shell .iv-notification-item.is-unread {
  border-color: #d9e7ff;
  background: linear-gradient(100deg, #edf5ff 0%, #f7fbff 74%, #fff 100%);
}

body.iv2026-shell .iv-notification-item:hover,
body.iv2026-shell .iv-notification-item:focus-visible {
  border-color: #bfd5fb;
  color: #17233b;
  background: #f4f8ff;
  outline: none;
  transform: translateX(2px);
}

body.iv2026-shell .iv-notification-icon {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  color: #1769e0;
  background: #e9f2ff;
  font-size: 21px;
}

body.iv2026-shell .iv-notification-item.is-read .iv-notification-icon {
  color: #6b7890;
  background: #f0f3f7;
}

body.iv2026-shell .iv-notification-item.is-unread.is-red .iv-notification-icon { color: #b72f49; background: #ffedf1; }
body.iv2026-shell .iv-notification-item.is-unread.is-green .iv-notification-icon { color: #087d5b; background: #e7f7f1; }
body.iv2026-shell .iv-notification-item.is-unread.is-gold .iv-notification-icon,
body.iv2026-shell .iv-notification-item.is-unread.is-amber .iv-notification-icon { color: #a66a08; background: #fff5df; }
body.iv2026-shell .iv-notification-item.is-unread.is-violet .iv-notification-icon { color: #6550bb; background: #f0edff; }
body.iv2026-shell .iv-notification-item.is-unread.is-cyan .iv-notification-icon { color: #197da9; background: #e7f7fc; }

body.iv2026-shell .iv-notification-icon > span {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  border: 2px solid #f4f9ff;
  border-radius: 50%;
  background: #e6465f;
}

body.iv2026-shell .iv-notification-item.is-read .iv-notification-icon > span { display: none; }

body.iv2026-shell .iv-notification-copy {
  display: block;
  min-width: 0;
}

body.iv2026-shell .iv-notification-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 3px;
  color: #62718a;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.iv2026-shell .iv-notification-new-label {
  padding: 3px 6px;
  border-radius: 999px;
  color: #0c5dbe;
  background: #dbeaff;
  font-size: 9px;
  letter-spacing: .05em;
}

body.iv2026-shell .iv-notification-item.is-read .iv-notification-new-label { display: none; }

body.iv2026-shell .iv-notification-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: #17233b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.iv2026-shell .iv-notification-message {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 3px;
  color: #607089;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

body.iv2026-shell .iv-notification-date {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  color: #6b7890;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

body.iv2026-shell .iv-notification-date i { color: #2384c9; font-size: 14px; }

body.iv2026-shell .iv-notification-arrow {
  color: #9aa6b8;
  font-size: 20px;
}

body.iv2026-shell .iv-notification-empty {
  display: none;
  min-height: 190px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 28px 22px;
  color: #6b7890;
  text-align: center;
}

body.iv2026-shell .iv-notification-empty.is-visible { display: flex; }

body.iv2026-shell .iv-notification-empty i {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 17px;
  color: #1769e0;
  background: #eaf3ff;
  font-size: 27px;
}

body.iv2026-shell .iv-notification-empty strong {
  margin-bottom: 3px;
  color: #1d2b45;
  font-size: 15px;
  font-weight: 650;
}

body.iv2026-shell .iv-notification-empty span { font-size: 13px; }

body.iv2026-shell .iv-notification-footer-link {
  display: flex;
  min-height: 49px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-top: 1px solid #e7edf6;
  color: #165ebd;
  background: #f8fafd;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none !important;
}

body.iv2026-shell .iv-notification-footer-link:hover,
body.iv2026-shell .iv-notification-footer-link:focus-visible {
  color: #0e4692;
  background: #eef4ff;
  outline: none;
}

body.iv2026-shell .iv-notification-footer-link i { font-size: 18px; }

/* Shared components */
body.iv2026-shell .card,
body.iv2026-shell.dark-mode .card,
body.iv2026-shell .panel,
body.iv2026-shell .panel-body {
  color: var(--iv-text);
  background: var(--iv-surface);
  border-color: var(--iv-line);
  border-radius: var(--iv-radius);
  box-shadow: var(--iv-shadow-sm);
}

body.iv2026-shell .card {
  overflow: hidden;
}

body.iv2026-shell .card-header,
body.iv2026-shell .card-footer,
body.iv2026-shell.dark-mode .card-footer {
  color: var(--iv-text);
  background: var(--iv-surface);
  border-color: var(--iv-line);
}

body.iv2026-shell .card-header {
  min-height: 60px;
  align-items: center;
  padding: 16px 20px;
}

body.iv2026-shell .card-body {
  padding: 20px;
}

body.iv2026-shell .card-title,
body.iv2026-shell.dark-mode .card-title {
  color: var(--iv-text-strong);
  font-weight: 780;
  letter-spacing: -0.02em;
}

body.iv2026-shell h1,
body.iv2026-shell h2,
body.iv2026-shell h3,
body.iv2026-shell h4,
body.iv2026-shell h5,
body.iv2026-shell h6 {
  color: var(--iv-text-strong);
  font-family: var(--iv-font-display);
  font-weight: 750;
  letter-spacing: -0.025em;
}

body.iv2026-shell .text-muted,
body.iv2026-shell.dark-mode .text-muted {
  color: var(--iv-muted) !important;
}

body.iv2026-shell .btn {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 10px;
  font-family: var(--iv-font-display);
  font-weight: var(--iv-weight-action);
  letter-spacing: 0;
  line-height: 1.35;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

body.iv2026-shell .btn:hover {
  transform: translateY(-1px);
}

body.iv2026-shell .btn-primary,
body.iv2026-shell .btn-primary:focus,
body.iv2026-shell .btn-primary:not(:disabled):not(.disabled):active {
  color: #fff;
  background: #1769e0;
  border-color: #1769e0;
}

body.iv2026-shell .btn-primary:hover {
  color: #fff !important;
  background: #0d58c7;
  border-color: #0d58c7;
}

body.iv2026-shell .btn-outline-primary {
  color: var(--iv-blue);
  background: transparent;
  border-color: color-mix(in srgb, var(--iv-blue) 55%, var(--iv-line));
}

body.iv2026-shell .btn-outline-primary:hover {
  color: #fff;
  background: #1769e0;
  border-color: #1769e0;
}

body.iv2026-shell .btn-outline-secondary {
  color: var(--iv-text);
  background: transparent;
  border-color: var(--iv-line-strong);
}

body.iv2026-shell .btn-outline-secondary:hover {
  color: var(--iv-text);
  background: var(--iv-surface-soft);
  border-color: var(--iv-muted);
}

body.iv2026-shell :where(.form-control, .custom-select, select, textarea, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"]) {
  min-height: 44px;
  color: var(--iv-text);
  background: var(--iv-surface);
  border: 1px solid var(--iv-line-strong);
  border-radius: 10px;
}

body.iv2026-shell.dark-mode :where(.form-control, .custom-select, select, textarea, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"]) {
  color: var(--iv-text);
  background: var(--iv-surface-soft) !important;
  border-color: var(--iv-line-strong);
}

body.iv2026-shell :where(.form-control, .custom-select, select, textarea, input):focus {
  color: var(--iv-text);
  background: var(--iv-surface);
  border-color: var(--iv-blue);
  box-shadow: var(--iv-focus);
}

body.iv2026-shell label {
  color: var(--iv-text);
  font-weight: 680;
}

body.iv2026-shell .table,
body.iv2026-shell.dark-mode .table {
  width: 100%;
  color: var(--iv-text);
  background: transparent;
}

body.iv2026-shell .table thead th,
body.iv2026-shell.dark-mode .table th {
  color: var(--iv-muted);
  background: var(--iv-surface-soft);
  border-color: var(--iv-line);
  font-size:var(--iv-type-small);
  font-weight: 650;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

body.iv2026-shell .table td,
body.iv2026-shell .table th {
  padding: 12px 11px;
  border-color: var(--iv-line);
  vertical-align: middle;
}

body.iv2026-shell .table-hover tbody tr:hover {
  color: var(--iv-text);
  background: var(--iv-blue-soft);
}

body.iv2026-shell .dataTables_wrapper {
  color: var(--iv-text);
}

body.iv2026-shell .dataTables_wrapper .dataTables_filter input,
body.iv2026-shell .dataTables_wrapper .dataTables_length select {
  min-height: 38px;
  margin: 0 4px;
}

body.iv2026-shell .alert {
  padding: 13px 15px;
  border-radius: 11px;
}

body.iv2026-shell .badge {
  padding: 0.42em 0.66em;
  border-radius: 999px;
  font-weight: 750;
}

body.iv2026-shell .pagination {
  gap: 4px;
}

body.iv2026-shell .page-link,
body.iv2026-shell.dark-mode .page-link {
  min-width: 38px;
  min-height: 38px;
  color: var(--iv-text);
  background: var(--iv-surface);
  border: 1px solid var(--iv-line);
  border-radius: 9px !important;
}

body.iv2026-shell .page-item.active .page-link {
  color: #fff;
  background: #1769e0;
  border-color: #1769e0;
}

body.iv2026-shell .modal-content {
  color: var(--iv-text);
  background: var(--iv-surface-raised);
  border: 1px solid var(--iv-line);
  border-radius: 18px;
  box-shadow: var(--iv-shadow);
}

body.iv2026-shell .modal-header,
body.iv2026-shell .modal-footer {
  border-color: var(--iv-line);
}

/* Operational page families */
body.iv2026-shell :where(.ivo-page, .iva-page, .ivn-page, .ivc-page, .ive-page, .ivt-page, .ivh-page, .ivp-page, .ivr-page, .iv-profile) {
  --ivo-ink: var(--iv-text) !important;
  --ivo-muted: var(--iv-muted) !important;
  --ivo-line: var(--iv-line) !important;
  --ivo-blue: var(--iv-blue) !important;
  --ivo-soft: var(--iv-surface-soft) !important;
  --iva-ink: var(--iv-text) !important;
  --iva-muted: var(--iv-muted) !important;
  --iva-line: var(--iv-line) !important;
  --iva-blue: var(--iv-blue) !important;
  --iva-soft: var(--iv-surface-soft) !important;
  --ivn-ink: var(--iv-text) !important;
  --ivn-muted: var(--iv-muted) !important;
  --ivn-line: var(--iv-line) !important;
  --ivn-blue: var(--iv-blue) !important;
  --ivc-ink: var(--iv-text) !important;
  --ivc-muted: var(--iv-muted) !important;
  --ivc-line: var(--iv-line) !important;
  --ive-ink: var(--iv-text) !important;
  --ive-muted: var(--iv-muted) !important;
  --ive-line: var(--iv-line) !important;
  --ivt-ink: var(--iv-text) !important;
  --ivt-muted: var(--iv-muted) !important;
  --ivt-line: var(--iv-line) !important;
  --ivh-ink: var(--iv-text) !important;
  --ivh-muted: var(--iv-muted) !important;
  --ivh-line: var(--iv-line) !important;
  --ivp-ink: var(--iv-text) !important;
  --ivp-muted: var(--iv-muted) !important;
  --ivp-line: var(--iv-line) !important;
  --ivr-ink: var(--iv-text) !important;
  --ivr-muted: var(--iv-muted) !important;
  --ivr-line: var(--iv-line) !important;
  --iv-ink: var(--iv-profile-ink) !important;
  --iv-muted: var(--iv-profile-muted) !important;
  --iv-line: var(--iv-profile-line) !important;
  --iv-blue: var(--iv-profile-blue) !important;
  color: var(--iv-text);
}

body.iv2026-shell :where(.ivo-head, .iva-head, .ivn-head, .ivc-head, .ive-hero, .ivt-hero, .ivh-head, .ivp-head, .ivr-head) h1 {
  color: var(--iv-text-strong);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.12;
}

body.iv2026-shell :where(.ivo-kicker, .iva-kicker, .ivn-kicker, .ivc-kicker, .ive-kicker, .ivt-kicker, .ivh-kicker, .ivp-kicker, .ivr-kicker, .iv-profile__kicker) {
  color: var(--iv-blue);
}

body.iv2026-shell :where(.ivo-card, .ivo-choice-card, .iva-card, .ivn-card, .ivn-panel, .ivc-card, .ive-card, .ivt-card, .ivh-card, .ivp-card, .ivr-stat, .iv-profile__hero, .iv-profile__stat, .iv-profile__section) {
  color: var(--iv-text);
  background: var(--iv-surface);
  border-color: var(--iv-line);
  border-radius: var(--iv-radius);
  box-shadow: var(--iv-shadow-sm);
}

body.iv2026-shell :where(.ivo-stat, .iva-stat, .ivn-stat, .ivo-fact, .iva-fact, .ivn-fact, .ivh-stat, .ivp-stat, .ivr-stat) {
  color: var(--iv-text);
  background: var(--iv-surface);
  border-color: var(--iv-line);
}

body.iv2026-shell :where(.ivo-empty, .iva-empty, .ivn-empty, .ivc-empty, .ive-empty, .ivt-empty, .ivh-empty, .ivp-empty, .ivr-empty, .iv-profile__empty) {
  color: var(--iv-muted);
}

body.iv2026-shell :where(.ivo-empty, .iva-empty, .ivn-empty, .ivc-empty, .ive-empty, .ivt-empty, .ivh-empty, .ivp-empty, .ivr-empty) {
  background: var(--iv-surface-soft);
  border-color: var(--iv-line-strong);
  border-radius: var(--iv-radius);
}

body.iv2026-shell :where(.ivo-btn, .iva-btn, .ivn-btn, .ivc-btn, .ive-btn, .ivt-btn, .ivh-btn, .ivp-btn, .ivr-btn) {
  min-height: 42px;
  border-radius: 10px;
  font-weight: 760;
}

body.iv2026-shell.dark-mode :where(.ivo-card h3, .iva-card h3, .ivn-card h3, .ivc-card h3, .ive-card h3, .ivt-card h3, .ivh-card h3, .ivp-card h3, .iv-profile h1, .iv-profile h2, .iv-profile h3) {
  color: var(--iv-text-strong);
}

body.iv2026-shell.dark-mode :where(.ivo-card p, .iva-card p, .ivn-card p, .ivc-card p, .ive-card p, .ivt-card p, .ivh-card p, .ivp-card p, .ivo-head p, .iva-head p, .ivn-head p, .ivr-head p) {
  color: var(--iv-muted);
}

body.iv2026-shell.dark-mode :where(.ivo-btn-outline, .iva-btn-outline, .ivn-btn:not(.ivn-btn-primary), .ivc-btn, .ivh-btn, .ivr-btn:not(.ivr-btn-primary)) {
  color: var(--iv-text);
  background: var(--iv-surface-raised);
  border-color: var(--iv-line-strong);
}

body.iv2026-shell.dark-mode :where(.iv-profile__badge, .ivo-step) {
  color: var(--iv-text);
  background: var(--iv-surface-soft);
}

body.iv2026-shell.dark-mode .iv-profile__flights th,
body.iv2026-shell.dark-mode .iv-profile__flights td {
  color: var(--iv-text);
  border-color: var(--iv-line);
}

@media (max-width: 991px) {
  body.iv2026-shell .container {
    width: min(100% - 22px, 1320px);
  }

  body.iv2026-shell .hor-header.header,
  body.iv2026-shell .hor-header.header > .container > .d-flex {
    min-height: 60px;
  }

  body.iv2026-shell .iv-header-brand {
    display: none !important;
  }

  body.iv2026-shell .iv-header-logo {
    width: 96px;
    height: 64px;
  }

  body.iv2026-shell .iv-header-anniversary {
    width: 48px;
    height: 48px;
  }

  body.iv2026-shell .horizontal-main {
    background: var(--iv-navy) !important;
  }

  body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
    display: block;
    background: var(--iv-navy);
  }

  body.iv2026-shell .horizontalMenucontainer,
  body.iv2026-shell.active .horizontalMenucontainer {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.iv2026-shell .horizontalMenu {
    position: fixed !important;
    z-index: 1042 !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(300px, 84vw) !important;
    height: calc(100vh - 60px) !important;
    pointer-events: none;
  }

  body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
    position: fixed !important;
    z-index: 1043 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(300px, 84vw) !important;
    height: calc(100vh - 60px) !important;
    margin: 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(-102%);
    transition: transform 220ms cubic-bezier(.22, .8, .3, 1);
    box-shadow: 22px 0 45px rgba(2, 13, 30, 0.24);
  }

  body.iv2026-shell.active .horizontalMenu,
  body.iv2026-shell.active .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
    pointer-events: auto;
  }

  body.iv2026-shell.active .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
    transform: translateX(0);
  }

  body.iv2026-shell .overlapblackbg {
    position: fixed !important;
    z-index: 1041 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: min(300px, 84vw) !important;
    width: auto !important;
    height: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(4, 15, 32, 0.48) !important;
    backdrop-filter: blur(2px);
    transition: opacity 180ms ease;
  }

  body.iv2026-shell.active .overlapblackbg {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.iv2026-shell .iv-simple-nav > li > a,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > a {
    color: #eaf2ff !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu {
    position: static !important;
    display: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 10px 10px 42px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.035) !important;
    box-shadow: none !important;
  }

  body.iv2026-shell .iv-simple-nav > li.iv-submenu-open > ul.sub-menu {
    display: block !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a {
    min-height: 40px;
    padding: 9px 10px !important;
    color: #dbe9fb !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a > i {
    color: #8fc2ff !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a > i::before {
    color: #8fc2ff !important;
  }

  body.iv2026-shell .iv-simple-nav > li > a .hor-icon,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > a .hor-icon {
    color: #92bff7 !important;
  }

  body.iv2026-shell .iv-simple-nav > li > a .hor-icon::before,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > a .hor-icon::before {
    color: #eaf3ff !important;
  }

  body.iv2026-shell .iv-simple-nav > li > a:hover,
  body.iv2026-shell .iv-simple-nav > li.is-active > a {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.09);
  }

  body.iv2026-shell .iv-simple-nav > li > a:hover .hor-icon::before,
  body.iv2026-shell .iv-simple-nav > li.is-active > a .hor-icon::before {
    color: #fff !important;
  }

  body.iv2026-shell .iv-simple-nav > li > a,
  body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a {
    min-height: 46px;
    margin: 0;
    padding: 13px 18px !important;
    border-radius: 0;
    box-shadow: none;
  }

  body.iv2026-shell .iv-simple-nav > li.is-active > a::after {
    top: 11px;
    right: auto;
    bottom: 11px;
    left: 5px;
    width: 3px;
    height: auto;
  }

  body.iv2026-shell .iv-mobile-brand {
    display: flex !important;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.045);
  }

  body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav > li.iv-mobile-brand > a.header-brand {
    min-width: 0;
    min-height: 44px;
    flex: 1 1 auto;
    justify-content: flex-start;
    margin: 0;
    padding: 0 !important;
    gap: 0;
    line-height: 1;
    background: transparent !important;
  }

  body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav > li.iv-mobile-brand > a.header-brand::after {
    display: none !important;
    content: none !important;
  }

  body.iv2026-shell .iv-mobile-logo {
    display: block !important;
    width: 118px;
    height: 48px;
    visibility: visible !important;
  }

  body.iv2026-shell .iv-language-switch--header {
    display: none !important;
  }

  body.iv2026-shell .iv-mobile-brand .iv-language-switch--mobile {
    display: inline-flex;
    flex: none;
    margin: 0;
  }

  body.iv2026-shell .iv-mobile-anniversary {
    width: 55px;
    height: 55px;
  }

  body.iv2026-shell .main-content {
    padding-top: 12px;
  }
}

@media (max-width: 767px) {
  body.iv2026-shell {
    font-size: 14px;
  }

  body.iv2026-shell .container {
    width: min(100% - 18px, 1320px);
  }

  body.iv2026-shell .card-header,
  body.iv2026-shell .card-body {
    padding: 16px;
  }

  body.iv2026-shell .header .header-right {
    gap: 0;
  }

  body.iv2026-shell .iv-header-auth-actions {
    gap: 6px;
    margin-left: 2px;
  }

  body.iv2026-shell .drop-profile > .nav-link {
    padding-left: 4px !important;
  }

  body.iv2026-shell .header-notify.iv-notification-center {
    display: block !important;
  }

  body.iv2026-shell .header-notify .dropdown-menu {
    position: fixed !important;
    top: 64px !important;
    right: 9px !important;
    left: 9px !important;
    min-width: 0 !important;
    width: auto;
    transform: none !important;
  }

  body.iv2026-shell .iv-notification-menu {
    width: auto;
    border-radius: 15px !important;
  }

  body.iv2026-shell .iv-notification-heading {
    min-height: 110px;
    padding: 20px 18px 17px;
  }

  body.iv2026-shell .iv-notification-heading h5 { font-size: 22px; }

  body.iv2026-shell .iv-notification-mark-all {
    max-width: 116px;
    white-space: normal;
  }

  body.iv2026-shell .iv-notification-list { max-height: calc(100vh - 300px); }

  body.iv2026-shell .table-responsive {
    border: 1px solid var(--iv-line);
    border-radius: var(--iv-radius);
  }

  body.iv2026-shell :where(.ivo-card-actions, .iva-card-actions, .ivn-actions, .ivc-actions, .ive-actions, .ivt-actions, .ivh-actions, .ivp-actions, .ivr-actions) {
    align-items: stretch;
  }
}

@media (max-width: 520px) {
  body.iv2026-shell .iv-header-brand {
    display: none !important;
  }

  body.iv2026-shell .header a.iv-header-discord {
    display: none;
  }

  body.iv2026-shell .iv-header-logo {
    width: 72px;
    height: 48px;
  }

  body.iv2026-shell .iv-header-anniversary {
    width: 40px;
    height: 40px;
  }

  body.iv2026-shell .btn-login,
  body.iv2026-shell .btn-reg {
    min-width: 0;
    padding-right: 11px;
    padding-left: 11px;
    font-size: 12px;
  }

  body.iv2026-shell .btn-login i,
  body.iv2026-shell .btn-reg i {
    display: none;
  }

  body.iv2026-shell .main-content {
    padding-bottom: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav,
  body.iv2026-shell .overlapblackbg,
  body.iv2026-shell .iv-header-brand,
  body.iv2026-shell .footer-main .social-icon {
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body.iv2026-shell *,
  body.iv2026-shell *::before,
  body.iv2026-shell *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  /* The radar sweep conveys live operational state. Keep it deliberately slow
     even when Windows asks the browser to reduce decorative motion. */
  body.iv2026-shell .ivhome-ops-radar::after {
    animation-duration: 12s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: linear !important;
  }
}

/* Phase 2: complete coverage for modern page families --------------------- */
body.iv2026-shell :where(
  .ivc-page,
  .ivcd-page,
  .ive-page,
  .ivt-page,
  .ivpass,
  .ivp,
  .ivl,
  .ivr,
  .iv26-page,
  .iv26-detail,
  .ivn,
  .iv-pilots
) {
  --ink: var(--iv-text) !important;
  --muted: var(--iv-muted) !important;
  --line: var(--iv-line) !important;
  --blue: var(--iv-blue) !important;
  --green: var(--iv-success) !important;
  --gold: var(--iv-warning) !important;
  --orange: var(--iv-warning) !important;
  --navy: var(--iv-navy) !important;
  --soft: var(--iv-surface-soft) !important;
  --ivc-ink: var(--iv-text) !important;
  --ivc-muted: var(--iv-muted) !important;
  --ivc-line: var(--iv-line) !important;
  --ivc-blue: var(--iv-blue) !important;
  --ive-ink: var(--iv-text) !important;
  --ive-muted: var(--iv-muted) !important;
  --ive-line: var(--iv-line) !important;
  --ive-blue: var(--iv-blue) !important;
  --ive-green: var(--iv-success) !important;
  --ive-red: var(--iv-danger) !important;
  --ivt-ink: var(--iv-text) !important;
  --ivt-muted: var(--iv-muted) !important;
  --ivt-line: var(--iv-line) !important;
  --ivt-blue: var(--iv-blue) !important;
  --ivt-green: var(--iv-success) !important;
  --ivt-orange: var(--iv-warning) !important;
  --ivt-red: var(--iv-danger) !important;
  --iv26-ink: var(--iv-text) !important;
  --iv26-muted: var(--iv-muted) !important;
  --iv26-line: var(--iv-line) !important;
  --iv26-blue: var(--iv-blue) !important;
  --iv26-soft: var(--iv-surface-soft) !important;
  --ivn-ink: var(--iv-text) !important;
  --ivn-muted: var(--iv-muted) !important;
  --ivn-line: var(--iv-line) !important;
  --ivn-blue: var(--iv-blue) !important;
  --ivn-green: var(--iv-success) !important;
  --ivn-orange: var(--iv-warning) !important;
  --ivn-soft: var(--iv-surface-soft) !important;
  color: var(--iv-text);
}

body.iv2026-shell.dark-mode :where(
  .ivc-card,
  .ivc-btn,
  .ivcd-task,
  .ivcd-person,
  .ivcd-btn,
  .ive-hero,
  .ive-card,
  .ive-person,
  .ivt-hero,
  .ivt-card,
  .ivt-person,
  .ivpass-btn,
  .ivpass-stamp,
  .ivpass-card,
  .ivpass-archive,
  .ivpass-archive-stat,
  .ivpass-feed-item,
  .ivpass-week,
  .ivpass-award,
  .ivp-card,
  .ivp-section,
  .ivp-badge,
  .ivp-award,
  .ivr-stat,
  .ivr-workspace,
  .ivr-side,
  .ivr-btn,
  .ivr-filter,
  .ivr-flight,
  .ivr-flight-data div,
  .iv26-stat,
  .iv26-filters,
  .iv26-card,
  .iv26-detail-card,
  .iv26-reviewbox,
  .iv26-field,
  .iv26-eventbox,
  .iv26-routebox,
  .iv26-pages a,
  .iv26-pages span,
  .ivn-btn,
  .ivn-tab,
  .ivn-stat,
  .ivn-filter,
  .ivn-input,
  .ivn-select,
  .ivn-card,
  .ivn-card-footer,
  .ivn-hero,
  .ivn-panel,
  .ivn-fact,
  .ivn-empty,
  .ivn-admin,
  .iv-pilots__card,
  .iv-pilots__chip
) {
  color: var(--iv-text) !important;
  background: var(--iv-surface) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivcd-mission, .ivt-leg, .ivr-flight-data div, .iv26-reviewbox, .iv26-routebox, .ivn-card-footer, .ivn-fact, .ivn-empty, .iv-pilots__chip, .ivp-badge, .ivp-award, .ivp-skill-flight, .ivp-skill-chip) {
  background: var(--iv-surface-soft) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-field input, .ivc-field textarea, .ivc-field select, .ivn-input, .ivn-select, .iv26-filter input, .iv26-filter select, .iv-table-search-field input) {
  color: var(--iv-text) !important;
  background: var(--iv-surface-raised) !important;
  border-color: var(--iv-line-strong) !important;
  color-scheme: dark;
}

body.iv2026-shell.dark-mode :where(.ivc-field label, .ive-steps, .iv26-table td, .iv26-table th, .iv26-reviewbox small, .iv26-eventbox p, .iv26-pages a, .iv26-pages span, .iv-pilots__head p, .iv-pilots__pilot small, .iv-pilots__table th, .iv-pilots__table td) {
  color: var(--iv-text) !important;
}

body.iv2026-shell.dark-mode :where(.iv26-table th, .ivpass-table th, .ivpass-table td, .ivn-table th, .ivn-table td, .iv-pilots__table th, .iv-pilots__table td) {
  color: var(--iv-text) !important;
  background: transparent !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivcd-task.completed, .ivpass-stamp.done, .ivpass-week.done, .ivt-leg-done, .ivpass-me) {
  color: var(--iv-text) !important;
  background: var(--iv-success-soft) !important;
  border-color: color-mix(in srgb, var(--iv-success) 45%, var(--iv-line)) !important;
}

body.iv2026-shell.dark-mode :where(.ivcd-task.active, .ivr-filter.is-active, .ivr-flight.is-selected, .ivn-tab.is-active) {
  color: var(--iv-text) !important;
  background: var(--iv-blue-soft) !important;
  border-color: color-mix(in srgb, var(--iv-blue) 45%, var(--iv-line)) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-info, .ivc-blue, .iva-pill-blue, .ive-pill, .ivt-pill, .iv26-mode-free, .ivn-admin, .ivn-rank, .ivpass-pill, .ivpass-rank) {
  color: var(--iv-blue) !important;
  background: var(--iv-blue-soft) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-notice, .ivc-green, .iva-pill-green, .ivcd-notice, .ivcd-tag.green, .ive-note, .ive-pill-green, .ive-verified, .ivt-note, .ivt-pill-green, .ivt-badge, .iv26-source-new, .iv26-status-ok, .iv26-mode-group, .ivn-pill-ok, .ivr-pill-live, .ivpass-pill.done, .ivp-ready) {
  color: var(--iv-success) !important;
  background: var(--iv-success-soft) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-orange, .iva-pill-orange, .ivcd-warning, .ivcd-tag.orange, .ive-warning, .ivt-pill-orange, .iv26-status-wait, .iv26-mode-event, .iv26-mode-tour, .ivn-pill-warn, .ivr-pill-stale, .ivp-wait) {
  color: var(--iv-warning) !important;
  background: var(--iv-warning-soft) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-error, .ive-pill-red, .ive-btn-danger, .ivt-btn-danger, .iv26-status-no) {
  color: var(--iv-danger) !important;
  background: var(--iv-danger-soft) !important;
  border-color: color-mix(in srgb, var(--iv-danger) 45%, var(--iv-line)) !important;
}

body.iv2026-shell.dark-mode :where(.ivcd-tag, .ive-btn-disabled, .ivt-btn-disabled, .iv26-source-old, .iv26-mode-legacy, .ivn-pill, .ivr-pill) {
  color: var(--iv-muted) !important;
  background: var(--iv-surface-soft) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivc-card form .ivc-btn, .ivcd-btn.primary, .ive-btn-primary, .ivt-btn-primary, .ivpass-btn-primary, .ivr-btn-primary, .ivn-btn-primary) {
  color: #fff !important;
  background: #1769e0 !important;
  border-color: #1769e0 !important;
}

body.iv2026-shell.dark-mode .iv26-pages .current {
  color: #fff !important;
  background: #1769e0 !important;
  border-color: #1769e0 !important;
}

body.iv2026-shell.dark-mode :where(.ivpass-bar, .ivpass-mini, .ivcd-progress, .ivt-progress, .ivp-bar) {
  background: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivp-skill-track) {
  background: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(.ivp-skill-flight, .ivp-skill-chip) {
  color: var(--iv-text) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode .iv26-filter-reset {
  color: var(--iv-text) !important;
  background: var(--iv-surface-raised) !important;
  border-color: var(--iv-line-strong) !important;
}

body.iv2026-shell.dark-mode .ivo-dispatch .ivo-btn-light {
  color: #174d94 !important;
  background: #fff !important;
  border-color: #fff !important;
}

body.iv2026-shell.dark-mode .ivo-auto-note {
  color: var(--iv-text) !important;
  background: var(--iv-blue-soft) !important;
  border-color: var(--iv-blue) !important;
}

body.iv2026-shell.dark-mode .ivo-auto-note strong {
  color: var(--iv-text-strong) !important;
}

body.iv2026-shell.dark-mode .ivl .ivl-shell,
body.iv2026-shell.dark-mode .ivl .ivl-body,
body.iv2026-shell.dark-mode .ivl .ivl-card,
body.iv2026-shell.dark-mode .ivl .ivl-statusline,
body.iv2026-shell.dark-mode .ivl .ivl-instrument,
body.iv2026-shell.dark-mode .ivl .ivl-highlight,
body.iv2026-shell.dark-mode .ivl .ivl-phase,
body.iv2026-shell.dark-mode .ivl .ivl-leg,
body.iv2026-shell.dark-mode .ivl .ivl-reviewbox,
body.iv2026-shell.dark-mode .ivl .ivl-skillbox,
body.iv2026-shell.dark-mode .ivl .ivl-skill-item,
body.iv2026-shell.dark-mode .ivl .ivl-field,
body.iv2026-shell.dark-mode .ivl .ivl-note,
body.iv2026-shell.dark-mode .ivl .ivl-chart-empty {
  color: var(--iv-text) !important;
  background: var(--iv-surface) !important;
  background-image: none !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode .ivl :where(
  .ivl-statusline,
  .ivl-instrument,
  .ivl-highlight,
  .ivl-phase,
  .ivl-leg,
  .ivl-reviewbox,
  .ivl-skillbox,
  .ivl-note
) {
  background: var(--iv-surface-soft) !important;
}

body.iv2026-shell.dark-mode .ivl :where(
  .ivl-card-head h2,
  .ivl-reviewbox h2,
  .ivl-skill-content h2,
  .ivl-instrument strong,
  .ivl-highlight strong,
  .ivl-phase-heading strong,
  .ivl-leg-route,
  .ivl-leg-meta strong,
  .ivl-field strong,
  .ivl-activity strong
) {
  color: var(--iv-text-strong) !important;
}

body.iv2026-shell.dark-mode .ivl :where(
  .ivl-statusline span,
  .ivl-instrument span,
  .ivl-instrument small,
  .ivl-card-head p,
  .ivl-highlight span,
  .ivl-activity span,
  .ivl-phase span,
  .ivl-leg-meta span,
  .ivl-field span,
  .ivl-note span,
  .ivl-reviewbox p,
  .ivl-reviewbox small,
  .ivl-skill-content p
) {
  color: var(--iv-muted) !important;
}

body.iv2026-shell.dark-mode .ivl :where(.ivl-card-badge, .ivl-phase-icon, .ivl-phase-stat) {
  color: var(--iv-blue) !important;
  background: var(--iv-blue-soft) !important;
}

body.iv2026-shell.dark-mode .ivl :where(.ivl-progress-track, .ivl-skill-track, .ivl-follow-track) {
  background: var(--iv-line) !important;
  border-color: var(--iv-line-strong) !important;
}

body.iv2026-shell.dark-mode .ivl .ivl-route-card {
  color: #fff !important;
  background: linear-gradient(145deg, #0f2d52, #174879) !important;
  border-color: #28527d !important;
}

body.iv2026-shell.dark-mode .ivl .ivl-route-card :where(h2, strong) {
  color: #fff !important;
}

body.iv2026-shell.dark-mode .ivl .ivl-route-card :where(p, span) {
  color: #bfd1e7 !important;
}

body.iv2026-shell .ivia-status {
  color: #086047 !important;
  background: #dff7ed !important;
}

body.iv2026-shell .ivia-status-offline {
  color: #9b2736 !important;
  background: #fde8ec !important;
}

body.iv2026-shell.dark-mode .ivia-status {
  border: 1px solid #2f765f;
  color: #baf3df !important;
  background: #123d34 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 0 0 3px rgba(46, 201, 151, .07);
}

body.iv2026-shell.dark-mode .ivia-status .ivia-dot {
  color: #4de0aa;
  box-shadow: 0 0 0 3px rgba(77, 224, 170, .14);
}

body.iv2026-shell.dark-mode .ivia-status-offline {
  border-color: #874451;
  color: #ffd1d7 !important;
  background: #48232a !important;
  box-shadow: none;
}

body.iv2026-shell.dark-mode .ivia-status-offline .ivia-dot {
  color: #ff8291;
  box-shadow: 0 0 0 3px rgba(255, 130, 145, .12);
}

body.iv2026-shell:not(.dark-mode) #ivia-chat {
  color: var(--iv-text) !important;
  background: var(--iv-surface) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell:not(.dark-mode) .ivia-message-assistant .ivia-bubble {
  color: var(--iv-text) !important;
  background: var(--iv-surface-soft) !important;
  border: 1px solid var(--iv-line) !important;
}

body.iv2026-shell:not(.dark-mode) .ivia-suggestion {
  color: var(--iv-text) !important;
  background: var(--iv-surface-soft) !important;
  border-color: var(--iv-line-strong) !important;
}

body.iv2026-shell.dark-mode #ivia-input {
  color: var(--iv-text) !important;
  background: var(--iv-surface-raised) !important;
  border-color: var(--iv-line-strong) !important;
  color-scheme: dark;
}
body.iv2026-shell.dark-mode .ivn-btn-success {
  color: #fff !important;
  background: #087a57 !important;
  border-color: #087a57 !important;
}

body.iv2026-shell :where(.ivc-page, .ivcd-page, .ive-page, .ivt-page, .ivpass, .ivp, .ivr, .iv26-page, .iv26-detail, .ivn, .iv-pilots) :where(p, small, label, h1, h2, h3, h4) {
  overflow-wrap: anywhere;
}

body.iv2026-shell :where(input, textarea, select)::placeholder {
  color: var(--iv-muted);
  opacity: 0.88;
}

body.iv2026-shell :where(.table-responsive, .ivpass-table-wrap, .ivn-table-wrap, .iv26-table-wrap) {
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  body.iv2026-shell :where(.ivc-btn, .ivcd-btn, .ive-btn, .ivt-btn, .ivpass-btn, .ivr-btn, .ivn-btn, .ivn-tab) {
    min-height: 44px;
  }

  body.iv2026-shell :where(.ivc-actions, .ivcd-actions, .ive-actions, .ivt-actions, .ivr-actions, .ivn-actions) {
    width: 100%;
  }

  body.iv2026-shell :where(.ivc-actions, .ive-actions, .ivt-actions, .ivr-actions, .ivn-actions) > :where(a, button) {
    flex: 1 1 auto;
  }
}

@media (forced-colors: active) {
  body.iv2026-shell :where(.card, .modal-content, .ivc-card, .ive-card, .ivt-card, .ivpass-card, .ivp-section, .ivr-workspace, .iv26-card, .iv26-detail-card, .ivn-card, .ivn-panel, .iv-pilots__card) {
    border: 1px solid CanvasText !important;
    box-shadow: none !important;
  }

  body.iv2026-shell :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid Highlight !important;
    outline-offset: 2px;
    box-shadow: none !important;
  }
}

/* Operational refinement ------------------------------------------------- */
body.iv2026-shell .sticky {
  position: sticky;
  top: 0;
  z-index: 1020 !important;
}

/* Global polish: footer and stacking order */
body.iv2026-shell .footer-main {
  position: relative;
  z-index: 1;
  overflow: hidden;
  color: #eef4ff;
  background:
    radial-gradient(circle at 50% -20%, rgba(74, 145, 242, 0.3), transparent 42%),
    linear-gradient(135deg, #06152a 0%, #0b2341 56%, #071a32 100%) !important;
  border-top: 1px solid rgba(120, 166, 226, 0.28);
  box-shadow: 0 -18px 54px rgba(5, 20, 42, 0.1);
}

body.iv2026-shell .footer-main::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(115deg, transparent 0 49.7%, rgba(157, 194, 239, 0.035) 49.8% 50.2%, transparent 50.3%),
    linear-gradient(65deg, transparent 0 49.7%, rgba(157, 194, 239, 0.025) 49.8% 50.2%, transparent 50.3%);
  background-size: 240px 240px;
  content: "";
  pointer-events: none;
}

body.iv2026-shell .footer-main > .row {
  margin: 0;
}

body.iv2026-shell .footer-main > .row > .col-md-12 {
  padding: 0;
}

body.iv2026-shell .footer-main .footer {
  position: relative;
  z-index: 1;
  padding: 25px 0 19px;
  background: transparent;
}

body.iv2026-shell .footer-main .iv-footer-flightline {
  position: relative;
  display: grid;
  height: 34px;
  margin-bottom: 27px;
  place-items: center;
}

body.iv2026-shell .footer-main .iv-footer-flightline::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(132, 181, 245, 0.5) 0 20px, transparent 20px 36px);
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

body.iv2026-shell .footer-main .iv-footer-flightline span {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #dceaff;
  background: #0b2341;
  border: 1px solid rgba(133, 184, 249, 0.46);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(31, 88, 158, 0.2), 0 0 28px rgba(74, 151, 255, 0.28);
  font-size: 16px;
}

body.iv2026-shell .footer-main .iv-footer-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1.08fr) minmax(300px, 0.95fr) minmax(310px, 1fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}

body.iv2026-shell .footer-main .iv-footer-brand {
  min-width: 0;
}

body.iv2026-shell .footer-main .iv-footer-logo {
  display: inline-flex;
  width: 178px;
  max-width: 100%;
  align-items: center;
  text-decoration: none !important;
}

body.iv2026-shell .footer-main .iv-footer-logo img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 22px rgba(0, 0, 0, 0.22));
}

body.iv2026-shell .footer-main .iv-footer-tagline {
  margin: 13px 0 4px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

body.iv2026-shell .footer-main .iv-footer-description {
  max-width: 360px;
  margin: 0;
  color: #aebdd2;
  font-size: 13px;
  line-height: 1.65;
}

body.iv2026-shell .footer-main .iv-footer-socials {
  display: flex;
  margin-top: 20px;
  align-items: center;
  gap: 13px;
}

body.iv2026-shell .footer-main .iv-footer-socials__label,
body.iv2026-shell .footer-main .iv-footer-heading {
  color: #8fa4c0;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.iv2026-shell .footer-main .social ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

body.iv2026-shell .footer-main .social li {
  margin: 0;
}

body.iv2026-shell .footer-main .social-icon {
  display: inline-flex;
  width: 37px;
  height: 37px;
  align-items: center;
  justify-content: center;
  color: #dce8f9 !important;
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(157, 190, 233, 0.2);
  border-radius: 11px;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.iv2026-shell .footer-main .social-icon:hover,
body.iv2026-shell .footer-main .social-icon:focus-visible {
  color: #ffffff !important;
  background: rgba(70, 145, 245, 0.18);
  border-color: rgba(111, 173, 255, 0.55);
  transform: translateY(-2px);
}

body.iv2026-shell .footer-main .social-icon.discord img {
  width: 21px;
  height: 21px;
  margin: 0;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

body.iv2026-shell .footer-main .iv-footer-nav {
  padding-top: 8px;
}

body.iv2026-shell .footer-main .iv-footer-nav__grid {
  display: grid;
  margin-top: 13px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 24px;
}

body.iv2026-shell .footer-main .iv-footer-nav__grid a {
  display: flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  color: #d9e5f6 !important;
  border-bottom: 1px solid rgba(151, 185, 229, 0.14);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.iv2026-shell .footer-main .iv-footer-nav__grid .iv-footer-quicklink-mobile-only {
  display: none;
}

body.iv2026-shell .footer-main .iv-footer-nav__grid a i {
  width: 18px;
  color: #69adff;
  font-size: 15px;
  text-align: center;
}

body.iv2026-shell .footer-main .iv-footer-nav__grid a:hover,
body.iv2026-shell .footer-main .iv-footer-nav__grid a:focus-visible {
  color: #ffffff !important;
  border-color: rgba(100, 169, 255, 0.46);
  transform: translateY(-2px);
}

body.iv2026-shell .footer-main .iv-footer-partner-zone {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 13px;
}

body.iv2026-shell .footer-main .iv-footer-partner {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 196px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  padding: 25px 27px 23px;
  overflow: hidden;
  color: #eef5ff !important;
  background: linear-gradient(145deg, rgba(27, 66, 113, 0.9), rgba(12, 42, 77, 0.92));
  border: 1px solid rgba(133, 181, 241, 0.28);
  border-radius: 19px;
  box-shadow: 0 18px 38px rgba(0, 8, 24, 0.24);
  text-decoration: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.iv2026-shell .footer-main .iv-footer-exams {
  min-width: 0;
}

body.iv2026-shell .footer-main .iv-footer-exams__label {
  display: block;
  margin-bottom: 8px;
  color: #8fa4c0;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.075em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.iv2026-shell .footer-main .iv-footer-exams__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 7px;
}

body.iv2026-shell .footer-main .iv-footer-exams__links a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  color: #d9e7f8 !important;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(145, 184, 233, 0.2);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.iv2026-shell .footer-main .iv-footer-exams__links a i {
  color: #69adff;
  font-size: 10px;
}

body.iv2026-shell .footer-main .iv-footer-exams__links a:hover,
body.iv2026-shell .footer-main .iv-footer-exams__links a:focus-visible {
  color: #ffffff !important;
  background: rgba(70, 145, 245, 0.18);
  border-color: rgba(111, 173, 255, 0.55);
  transform: translateY(-2px);
}

body.iv2026-shell .footer-main .iv-footer-partner::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #28a16c 0 33.333%, #f4f7fb 33.333% 66.666%, #d84a58 66.666%);
  content: "";
}

body.iv2026-shell .footer-main .iv-footer-partner::after {
  position: absolute;
  right: -35px;
  bottom: -48px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(88, 157, 246, 0.2), transparent 68%);
  content: "";
  pointer-events: none;
}

body.iv2026-shell .footer-main .iv-footer-partner:hover,
body.iv2026-shell .footer-main .iv-footer-partner:focus-visible {
  color: #ffffff !important;
  border-color: rgba(125, 184, 255, 0.64);
  box-shadow: 0 22px 46px rgba(0, 8, 24, 0.33);
  transform: translateY(-2px);
}

body.iv2026-shell .footer-main .iv-footer-partner__topline {
  display: flex;
  align-items: center;
  gap: 9px;
}

body.iv2026-shell .footer-main .iv-footer-partner__topline small {
  color: #aebfd7;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.iv2026-shell .footer-main .iv-footer-partner__icon {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  color: #9bc8ff;
  background: rgba(98, 165, 250, 0.15);
  border: 1px solid rgba(139, 191, 255, 0.18);
  border-radius: 10px;
  font-size: 14px;
}

body.iv2026-shell .footer-main .iv-footer-partner__name {
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

body.iv2026-shell .footer-main .iv-footer-partner__description {
  position: relative;
  z-index: 1;
  max-width: 340px;
  color: #bdcbe0;
  font-size: 12px;
  line-height: 1.55;
}

body.iv2026-shell .footer-main .iv-footer-partner__action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-top: 8px;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 650;
}

body.iv2026-shell .footer-main .iv-footer-partner__action i {
  color: #79b7ff;
  font-size: 10px;
  transition: transform 160ms ease;
}

body.iv2026-shell .footer-main .iv-footer-partner:hover .iv-footer-partner__action i,
body.iv2026-shell .footer-main .iv-footer-partner:focus-visible .iv-footer-partner__action i {
  transform: translateX(3px);
}

body.iv2026-shell .footer-main .iv-footer-bottom {
  display: grid;
  margin-top: 29px;
  padding-top: 17px;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  color: #8498b4;
  border-top: 1px solid rgba(151, 185, 229, 0.16);
  font-size: 11px;
  line-height: 1.5;
}

body.iv2026-shell .footer-main .iv-footer-bottom__motto {
  color: #9bacc2;
  text-align: center;
}

body.iv2026-shell .footer-main .iv-footer-legal {
  display: flex;
  justify-content: flex-end;
  gap: 17px;
  text-align: right;
}

body.iv2026-shell .footer-main .iv-footer-legal a {
  color: #aebdd2 !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: color 160ms ease;
}

body.iv2026-shell .footer-main .iv-footer-legal a:hover,
body.iv2026-shell .footer-main .iv-footer-legal a:focus-visible {
  color: #ffffff !important;
}

body.iv2026-shell.dark-mode .footer-main {
  border-top-color: rgba(120, 166, 226, 0.22);
  box-shadow: 0 -18px 54px rgba(0, 0, 0, 0.18);
}

@media (max-width: 1100px) {
  body.iv2026-shell .footer-main .iv-footer-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px;
  }

  body.iv2026-shell .footer-main .iv-footer-partner-zone {
    min-height: 0;
    grid-column: 1 / -1;
  }

  body.iv2026-shell .footer-main .iv-footer-partner {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  body.iv2026-shell .footer-main .footer {
    padding: 22px 0 18px;
  }

  body.iv2026-shell .footer-main .iv-footer-flightline {
    margin-bottom: 23px;
  }

  body.iv2026-shell .footer-main .iv-footer-layout {
    grid-template-columns: 1fr;
    gap: 27px;
  }

  body.iv2026-shell .footer-main .iv-footer-logo {
    display: flex;
    margin-inline: auto;
  }

  body.iv2026-shell .footer-main .iv-footer-tagline {
    text-align: center;
  }

  body.iv2026-shell .footer-main .iv-footer-partner-zone {
    grid-column: auto;
  }

  body.iv2026-shell .footer-main .iv-footer-partner {
    padding: 23px 21px 21px;
  }

  body.iv2026-shell .footer-main .iv-footer-nav__grid {
    column-gap: 16px;
  }

  body.iv2026-shell .footer-main .iv-footer-nav__grid .iv-footer-quicklink-download {
    display: none;
  }

  body.iv2026-shell .footer-main .iv-footer-nav__grid .iv-footer-quicklink-mobile-only {
    display: flex;
  }

  body.iv2026-shell .footer-main .iv-footer-bottom {
    display: flex;
    margin-top: 25px;
    flex-direction: column;
    gap: 9px;
    text-align: center;
  }

  body.iv2026-shell .footer-main .iv-footer-legal {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 330px) {
  body.iv2026-shell .footer-main .iv-footer-nav__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.iv2026-shell .footer-main .iv-footer-socials {
    align-items: flex-start;
    flex-direction: column;
  }

  body.iv2026-shell .footer-main .iv-footer-socials .social ul {
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.iv2026-shell .footer-main :where(a, i) {
    transition: none !important;
  }
}

body.iv2026-shell .horizontal-main {
  background: #10264a;
  box-shadow: 0 7px 18px rgba(8, 26, 52, 0.18);
}

body.iv2026-shell .horizontalMenu > .horizontalMenu-list.iv-simple-nav {
  justify-content: center;
}

body.iv2026-shell .iv-simple-nav > li > a {
  font-size: 14px;
  font-weight: 690;
}

body.iv2026-shell .iv-simple-nav > li.iv-nav-primary > a {
  background: #2867d8;
  box-shadow: none;
}

body.iv2026-shell .main-content {
  padding-top: 28px;
}

body.iv2026-shell .main-content :where(.ivo-page, .iva-page, .iv26-page, .ivp, .iv-pilots).page > .container {
  margin-top: 0 !important;
}

body.iv2026-shell :where(
  .ivo-kicker,
  .iva-kicker,
  .ivn-kicker,
  .ivc-kicker,
  .ive-kicker,
  .ivt-kicker,
  .ivh-kicker,
  .ivp-kicker,
  .ivr-kicker,
  .iv26-kicker,
  .iv-profile__kicker
) {
  font-family: var(--iv-font-data);
  font-weight: 760;
  letter-spacing: 0.12em;
}

body.iv2026-shell :where(
  .ivo-route,
  .iva-route,
  .ive-route,
  .ivt-route,
  .iv26-route,
  .iv26-flight,
  [data-iv-icao]
) {
  font-family: var(--iv-font-data);
  letter-spacing: 0.015em;
}

body.iv2026-shell :where(
  .ivo-btn-blue,
  .iva-btn-primary,
  .ive-btn-primary,
  .ivt-btn-primary,
  .ivn-btn-primary,
  .ivc-btn-primary,
  .ivr-btn-primary,
  .ivpass-btn-primary
) {
  color: #fff !important;
}

body.iv2026-shell :where(
  .ivo-dispatch,
  .iva-hero,
  .ive-hero,
  .ivt-hero,
  .ivpass-hero,
  .ivn-hero,
  .ivp-skill-score
) :where(h1, h2, h3) {
  color: #fff !important;
}

body.iv2026-shell.dark-mode :where(
  .ivo-btn-blue,
  .iva-btn-primary,
  .ive-btn-primary,
  .ivt-btn-primary,
  .ivn-btn-primary,
  .ivc-btn-primary,
  .ivr-btn-primary,
  .ivpass-btn-primary
) {
  color: #fff !important;
  background: #2867d8 !important;
}

body.iv2026-shell.dark-mode :where(
  .ivo-choice-card,
  .ivo-stat,
  .ivo-card,
  .ivo-current,
  .iva-stat,
  .iva-card,
  .ivp-card,
  .ivp-section,
  .iv26-stat,
  .iv26-card
) {
  color: var(--iv-text) !important;
  background: var(--iv-surface) !important;
  border-color: var(--iv-line) !important;
}

body.iv2026-shell.dark-mode :where(
  .ivo-head h1,
  .ivo-section h2,
  .ivo-card h3,
  .iva-head h1,
  .iva-section h2,
  .iva-card h3,
  .ivp-head h1,
  .ivp-section h2,
  .iv26-head h1,
  .iv26-stat strong,
  .iv26-route
) {
  color: var(--iv-text-strong) !important;
}

body.iv2026-shell.dark-mode :where(
  .ivo-head p,
  .ivo-section-head p,
  .ivo-card p,
  .ivo-stat span,
  .iva-head p,
  .iva-card p,
  .ivp-head p,
  .ivp-card span,
  .iv26-head p,
  .iv26-stat span
) {
  color: var(--iv-muted) !important;
}

.iv-table-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 13px;
}

.iv-table-search {
  width: min(100%, 390px);
}

.iv-table-search label {
  display: block;
  margin-bottom: 6px;
  color: var(--iv-muted) !important;
  font-size: var(--iv-type-small);
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.iv-table-search-field {
  position: relative;
}

.iv-table-search-field i {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 13px;
  color: var(--iv-muted);
  font-size: 19px;
  transform: translateY(-50%);
  pointer-events: none;
}

body.iv2026-shell .iv-table-search-field input {
  width: 100%;
  min-height: 42px;
  padding: 9px 13px 9px 41px;
}

.iv-table-result {
  padding-bottom: 10px;
  color: var(--iv-muted);
  font-size: var(--iv-type-small);
  white-space: nowrap;
}

.iv-community-help {
  position: relative;
  cursor: help;
}

.iv-community-help::after {
  margin-left: 5px;
  color: var(--iv-blue);
  content: "ⓘ";
  font-size: 12px;
}

@media (max-width: 767px) {
  .iv-table-tools {
    align-items: stretch;
    flex-direction: column;
    gap: 4px;
  }

  .iv-table-search {
    width: 100%;
  }

  .iv-table-result {
    padding-bottom: 0;
  }
}
/*
 * Shared flight-path geometry
 * Font Awesome's plane glyph points diagonally by default. All static routes
 * point toward the arrival airport; live map markers keep their own heading.
 */
body.iv2026-shell {
  --iv-route-heading: 45deg;
  --iv-route-curve-heading: 40deg;
}

body.iv2026-shell .ivhome-next-route b,
body.iv2026-shell .ivhome-flight-strip-route > span b,
body.iv2026-shell .ivhome-live-route span b,
body.iv2026-shell .ivhome-arrival-route > span b,
body.iv2026-shell .iva-route-line i,
body.iv2026-shell .iv-settings__flight-line i,
body.iv2026-shell .ivlog-route i,
body.iv2026-shell .ivfp-debrief-route > i,
body.iv2026-shell .ivl-airports > i,
body.iv2026-shell .ivh-airports > i {
  transform: rotate(var(--iv-route-heading)) !important;
  transform-origin: center;
}

body.iv2026-shell .ive-route-line i,
body.iv2026-shell .ive-launch-line i,
body.iv2026-shell .ivt-route-line i,
body.iv2026-shell .ivt-launch-line i,
body.iv2026-shell .ivd-route-line i,
body.iv2026-shell .ivo-route-line i {
  transform: translate(-50%, -50%) rotate(var(--iv-route-heading)) !important;
  transform-origin: center;
}

/* Keep the aircraft alone, centered on the route line. */
body.iv2026-shell .ivh-era-route i,
body.iv2026-shell .ivcareer-rank-line i {
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #9fdcff !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1 !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center;
}

body.iv2026-shell .ivh-era-route i::before,
body.iv2026-shell .ivcareer-rank-line i::before {
  position: static;
  display: block;
  line-height: 1;
  transform: rotate(var(--iv-route-heading));
  transform-origin: center;
}

body.iv2026-shell .ivcareer-flight-path i,
body.iv2026-shell .ivlog-flight-path i,
body.iv2026-shell .iva-flight-path i,
body.iv2026-shell .ivia-flight-path i {
  transform: rotate(var(--iv-route-curve-heading)) !important;
  transform-origin: center;
}

body.iv2026-shell .ivcareer-flight-path i,
body.iv2026-shell .ivlog-flight-path i {
  top: 17px !important;
}

body.iv2026-shell .iva-flight-path i,
body.iv2026-shell .ivia-flight-path i {
  top: 15px !important;
}

/* Home - azioni distinte per profilo pilota e dettaglio del volo. */
body.iv2026-shell .ivhome-arrival-cell-link {
  border-radius: 10px;
  color: inherit !important;
  text-decoration: none !important;
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

body.iv2026-shell .ivhome-arrival-cell-link:hover {
  background: rgba(23, 105, 224, .07);
  box-shadow: 0 0 0 6px rgba(23, 105, 224, .07);
  transform: translateY(-1px);
}

body.iv2026-shell .ivhome-arrival-cell-link:focus-visible {
  outline: 3px solid rgba(23, 105, 224, .28);
  outline-offset: 4px;
}

body.iv2026-shell .ivhome-arrival-cell-link:hover strong {
  color: #1769e0;
}

body.iv2026-shell .ivhome-inline-link-icon {
  margin-left: 4px;
  color: #1769e0;
  font-size: 10px;
  opacity: .7;
  transition: opacity .16s ease, transform .16s ease;
}

body.iv2026-shell .ivhome-arrival-cell-link:hover .ivhome-inline-link-icon {
  opacity: 1;
  transform: translate(1px, -1px);
}

/* Shared action contract: every real CTA uses the same lift, press and focus response. */
body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .iv-profile__action,
  .iv-profile__toggle-button,
  .iv-settings__button,
  .iva-btn,
  .ivauth-submit,
  .ivc-btn,
  .ivcareer-btn,
  .ivcd-btn,
  .ivdl-button,
  .ive-btn,
  .ivfp-airports-btn,
  .ivfp-airports-close-btn,
  .ivfp-airports-modal-x,
  .ivfp-debrief-actions > a,
  .ivfp-debrief-more-btn,
  .ivfp-wingman-help,
  .ivfp-wingman-action,
  .ivh-btn,
  .ivh-page-link,
  .ivhome-btn,
  .ivhome-airspace-empty-actions > a,
  .ivhome-fallback-actions > a,
  .ivhome-logbook-open,
  .ivhome-map-open,
  .ivhome-ops-open,
  .ivhome-ticket-open,
  .ivia-suggestion,
  .ivlog-filter-reset,
  .ivl-recorder-log-action,
  .ivlog-open,
  .ivn-btn,
  .ivnc-mark-all,
  .ivnc-read-one,
  .ivnc-open,
  .ivnc-page-link,
  .iv-notification-mark-all,
  .ivo-btn,
  .ivpass-btn,
  .ivps-action,
  .ivps-invite-action,
  .ivps-page-link,
  .ivr-btn,
  .ivrank-btn,
  .ivskill-hero-action,
  .ivt-btn,
  .ivc-back,
  .ivcd-back,
  .ivd-back,
  .ive-back,
  .ivl-back,
  .ivn-back,
  .ivp-back,
  .ivpoints-back,
  .ivt-back
) {
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    filter .16s ease,
    transform .16s cubic-bezier(.22, .61, .36, 1) !important;
}

body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .iv-profile__action,
  .iv-profile__toggle-button,
  .iv-settings__button,
  .iva-btn,
  .ivauth-submit,
  .ivc-btn,
  .ivcareer-btn,
  .ivcd-btn,
  .ivdl-button,
  .ive-btn,
  .ivfp-airports-btn,
  .ivfp-airports-close-btn,
  .ivfp-airports-modal-x,
  .ivfp-debrief-actions > a,
  .ivfp-debrief-more-btn,
  .ivfp-wingman-help,
  .ivfp-wingman-action,
  .ivh-btn,
  .ivh-page-link,
  .ivhome-btn,
  .ivhome-airspace-empty-actions > a,
  .ivhome-fallback-actions > a,
  .ivhome-logbook-open,
  .ivhome-map-open,
  .ivhome-ops-open,
  .ivhome-ticket-open,
  .ivia-suggestion,
  .ivlog-filter-reset,
  .ivl-recorder-log-action,
  .ivlog-open,
  .ivn-btn,
  .ivnc-mark-all,
  .ivnc-read-one,
  .ivnc-open,
  .ivnc-page-link,
  .iv-notification-mark-all,
  .ivo-btn,
  .ivpass-btn,
  .ivps-action,
  .ivps-invite-action,
  .ivps-page-link,
  .ivr-btn,
  .ivrank-btn,
  .ivskill-hero-action,
  .ivt-btn,
  .ivc-back,
  .ivcd-back,
  .ivd-back,
  .ive-back,
  .ivl-back,
  .ivn-back,
  .ivp-back,
  .ivpoints-back,
  .ivt-back
):not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.is-disabled):not(.ive-btn-disabled):not(.ivt-btn-disabled):not(.ivauth-password-toggle):not(.iv-settings__password-toggle):hover {
  filter: brightness(1.035);
  transform: translateY(-1px) !important;
}

body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .iv-profile__action,
  .iv-profile__toggle-button,
  .iv-settings__button,
  .iva-btn,
  .ivauth-submit,
  .ivc-btn,
  .ivcareer-btn,
  .ivcd-btn,
  .ivdl-button,
  .ive-btn,
  .ivfp-airports-btn,
  .ivfp-airports-close-btn,
  .ivfp-airports-modal-x,
  .ivfp-debrief-actions > a,
  .ivfp-debrief-more-btn,
  .ivfp-wingman-help,
  .ivfp-wingman-action,
  .ivh-btn,
  .ivh-page-link,
  .ivhome-btn,
  .ivhome-airspace-empty-actions > a,
  .ivhome-fallback-actions > a,
  .ivhome-logbook-open,
  .ivhome-map-open,
  .ivhome-ops-open,
  .ivhome-ticket-open,
  .ivia-suggestion,
  .ivlog-filter-reset,
  .ivl-recorder-log-action,
  .ivlog-open,
  .ivn-btn,
  .ivnc-mark-all,
  .ivnc-read-one,
  .ivnc-open,
  .ivnc-page-link,
  .iv-notification-mark-all,
  .ivo-btn,
  .ivpass-btn,
  .ivps-action,
  .ivps-invite-action,
  .ivps-page-link,
  .ivr-btn,
  .ivrank-btn,
  .ivskill-hero-action,
  .ivt-btn,
  .ivc-back,
  .ivcd-back,
  .ivd-back,
  .ive-back,
  .ivl-back,
  .ivn-back,
  .ivp-back,
  .ivpoints-back,
  .ivt-back
):not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.is-disabled):not(.ivauth-password-toggle):not(.iv-settings__password-toggle):active {
  filter: none;
  transform: translateY(0) !important;
}

body.iv2026-shell :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .iv-profile__action,
  .iv-profile__toggle-button,
  .iv-settings__button,
  .iva-btn,
  .ivauth-submit,
  .ivc-btn,
  .ivcareer-btn,
  .ivcd-btn,
  .ivdl-button,
  .ive-btn,
  .ivfp-airports-btn,
  .ivfp-airports-close-btn,
  .ivfp-airports-modal-x,
  .ivfp-debrief-actions > a,
  .ivfp-debrief-more-btn,
  .ivfp-wingman-help,
  .ivfp-wingman-action,
  .ivh-btn,
  .ivh-page-link,
  .ivhome-btn,
  .ivhome-airspace-empty-actions > a,
  .ivhome-fallback-actions > a,
  .ivhome-logbook-open,
  .ivhome-map-open,
  .ivhome-ops-open,
  .ivhome-ticket-open,
  .ivia-suggestion,
  .ivlog-filter-reset,
  .ivl-recorder-log-action,
  .ivlog-open,
  .ivn-btn,
  .ivnc-mark-all,
  .ivnc-read-one,
  .ivnc-open,
  .ivnc-page-link,
  .iv-notification-mark-all,
  .ivo-btn,
  .ivpass-btn,
  .ivps-action,
  .ivps-invite-action,
  .ivps-page-link,
  .ivr-btn,
  .ivrank-btn,
  .ivskill-hero-action,
  .ivt-btn,
  .ivc-back,
  .ivcd-back,
  .ivd-back,
  .ive-back,
  .ivl-back,
  .ivn-back,
  .ivp-back,
  .ivpoints-back,
  .ivt-back
):focus-visible {
  outline: 3px solid rgba(87, 159, 255, .42) !important;
  outline-offset: 3px !important;
}

/* Password visibility controls stay centered: they are field tools, not lifting CTAs. */
body.iv2026-shell :where(.ivauth-password-toggle, .iv-settings__password-toggle),
body.iv2026-shell :where(.ivauth-password-toggle, .iv-settings__password-toggle):hover,
body.iv2026-shell :where(.ivauth-password-toggle, .iv-settings__password-toggle):active {
  filter: none !important;
  transform: translateY(-50%) !important;
}

/* Supplemental CTA families discovered by the full-page interaction audit. */
body.iv2026-shell :where(
  .ivhome-section-head > a,
  .iva-history-head > a,
  .ivo-section-link,
  .ivt-leg-prepare,
  .ivcareer-aircraft-link,
  .ivfp-wingman-action > a,
  .ivia-reset,
  .ivia-send,
  .iv-pilots__radar-link,
  .iv-pilots__reset,
  .iv-pilots__pilot-arrow,
  .footer-main .social-icon
) {
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    filter .16s ease,
    transform .16s cubic-bezier(.22, .61, .36, 1) !important;
}

body.iv2026-shell :where(
  .ivhome-section-head > a,
  .iva-history-head > a,
  .ivo-section-link,
  .ivt-leg-prepare,
  .ivcareer-aircraft-link,
  .ivfp-wingman-action > a,
  .ivia-reset,
  .ivia-send,
  .iv-pilots__radar-link,
  .iv-pilots__reset,
  .iv-pilots__pilot-arrow,
  .footer-main .social-icon
):not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.is-disabled):hover {
  filter: brightness(1.035);
  transform: translateY(-1px) !important;
}

body.iv2026-shell :where(
  .ivhome-section-head > a,
  .iva-history-head > a,
  .ivo-section-link,
  .ivt-leg-prepare,
  .ivcareer-aircraft-link,
  .ivfp-wingman-action > a,
  .ivia-reset,
  .ivia-send,
  .iv-pilots__radar-link,
  .iv-pilots__reset,
  .iv-pilots__pilot-arrow,
  .footer-main .social-icon
):not(:disabled):not(.disabled):not([aria-disabled="true"]):not(.is-disabled):active {
  filter: none;
  transform: translateY(0) !important;
}

body.iv2026-shell :where(
  .ivhome-section-head > a,
  .iva-history-head > a,
  .ivo-section-link,
  .ivt-leg-prepare,
  .ivcareer-aircraft-link,
  .ivfp-wingman-action > a,
  .ivia-reset,
  .ivia-send,
  .iv-pilots__radar-link,
  .iv-pilots__reset,
  .iv-pilots__pilot-arrow,
  .footer-main .social-icon
):focus-visible {
  outline: 3px solid rgba(87, 159, 255, .42) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  body.iv2026-shell .ivhome-arrival-cell-link,
  body.iv2026-shell .ivhome-inline-link-icon,
  body.iv2026-shell .iv-nav-activity-alert {
    animation: none;
    transition: none;
  }
}

/* Shared action color contract: secondary controls stay blue, never accidental grey. */
body.iv2026-shell {
  --iv-action-secondary-text: #1557a0;
  --iv-action-secondary-bg: #ffffff;
  --iv-action-secondary-border: #a8c8ed;
  --iv-action-secondary-hover-text: #0f4d90;
  --iv-action-secondary-hover-bg: #ffffff;
  --iv-action-secondary-hover-border: #77a8e5;
}

body.iv2026-shell :where(
  .ivhome-section-head > a,
  .ivhome-airspace-empty-actions > a:not(.is-primary),
  .iva-history-head > a,
  .iva-section-link,
  .ivo-section-link,
  .ivo-btn-outline,
  .iva-btn-outline,
  .ivn-btn:not(.ivn-btn-primary):not(.ivn-btn-success),
  .ivc-btn:not(.primary):not(.ivc-btn-primary):not(.on-dark):not(.ghost-dark),
  .ivcd-btn:not(.primary):not(.danger):not(.collect),
  .ivcd-modal-close,
  .ive-btn.secondary,
  .ivt-btn.secondary,
  .ivt-people-toggle,
  .ivd-show-all > button,
  .ivh-btn.subtle,
  .ivh-tab:not(.active):not(.is-active),
  .ivh-page-link:not(.active),
  .iv-profile__toggle-button,
  .ivl-recorder-log-toggle,
  .ivpoints-examples-toggle,
  .ivr-btn:not(.ivr-btn-primary),
  .ivr-map-control,
  .ivr-filter:not(.is-active),
  .ivlog-filter-reset:not(.is-disabled),
  .ivlog-open,
  .ivnc-open,
  .ivnc-read-one,
  .ivnc-filter:not(.is-active),
  .ivnc-page-link:not(.is-current),
  .ivn-tab:not(.is-active),
  .iv-pilots__reset,
  .iv-pilots__radar-link,
  .iv-pilots__pilot-arrow,
  .ivia-reset,
  .ivps-page-link,
  .ivps-action.is-secondary,
  .iv-settings__button--soft,
  .ivdl-button-secondary,
  .ivskill-tie-trigger,
  .page-item:not(.active):not(.disabled) > .page-link
) {
  color: var(--iv-action-secondary-text) !important;
  background: var(--iv-action-secondary-bg) !important;
  border-color: var(--iv-action-secondary-border) !important;
  box-shadow: 0 5px 14px rgba(23, 105, 224, .08);
}

body.iv2026-shell :where(
  .ivhome-section-head > a,
  .ivhome-airspace-empty-actions > a:not(.is-primary),
  .iva-history-head > a,
  .iva-section-link,
  .ivo-section-link,
  .ivo-btn-outline,
  .iva-btn-outline,
  .ivn-btn:not(.ivn-btn-primary):not(.ivn-btn-success),
  .ivc-btn:not(.primary):not(.ivc-btn-primary):not(.on-dark):not(.ghost-dark),
  .ivcd-btn:not(.primary):not(.danger):not(.collect),
  .ivcd-modal-close,
  .ive-btn.secondary,
  .ivt-btn.secondary,
  .ivt-people-toggle,
  .ivd-show-all > button,
  .ivh-btn.subtle,
  .ivh-tab:not(.active):not(.is-active),
  .ivh-page-link:not(.active),
  .iv-profile__toggle-button,
  .ivl-recorder-log-toggle,
  .ivpoints-examples-toggle,
  .ivr-btn:not(.ivr-btn-primary),
  .ivr-map-control,
  .ivr-filter:not(.is-active),
  .ivlog-filter-reset:not(.is-disabled),
  .ivlog-open,
  .ivnc-open,
  .ivnc-read-one,
  .ivnc-filter:not(.is-active),
  .ivnc-page-link:not(.is-current),
  .ivn-tab:not(.is-active),
  .iv-pilots__reset,
  .iv-pilots__radar-link,
  .iv-pilots__pilot-arrow,
  .ivia-reset,
  .ivps-page-link,
  .ivps-action.is-secondary,
  .iv-settings__button--soft,
  .ivdl-button-secondary,
  .ivskill-tie-trigger,
  .page-item:not(.active):not(.disabled) > .page-link
):not(:disabled):not([aria-disabled="true"]):hover {
  color: var(--iv-action-secondary-hover-text) !important;
  background: var(--iv-action-secondary-hover-bg) !important;
  border-color: var(--iv-action-secondary-hover-border) !important;
  box-shadow: 0 8px 19px rgba(23, 105, 224, .13);
}

/* Final audit closure for page rules with higher specificity. */
body.iv2026-shell .ive-page .ive-btn.secondary,
body.iv2026-shell .ivt-page .ivt-btn.secondary,
body.iv2026-shell .ivt-page .ivt-people-toggle,
body.iv2026-shell .ivd-page .ivd-show-all > button,
body.iv2026-shell .ivh-page .ivh-tab:not(.active):not(.is-active),
body.iv2026-shell .iv-profile__toggle-button,
body.iv2026-shell .ivl-recorder-log-toggle,
body.iv2026-shell .ivpoints .ivpoints-examples-toggle,
body.iv2026-shell .ivnc-page .ivnc-filter:not(.is-active),
body.iv2026-shell .ivn .ivn-tab:not(.is-active),
body.iv2026-shell .ivcd-modal-close {
  color: var(--iv-action-secondary-text) !important;
  background: var(--iv-action-secondary-bg) !important;
  border-color: var(--iv-action-secondary-border) !important;
}

body.iv2026-shell .ive-page .ive-btn.secondary:hover,
body.iv2026-shell .ivt-page .ivt-btn.secondary:hover,
body.iv2026-shell .ivt-page .ivt-people-toggle:hover,
body.iv2026-shell .ivd-page .ivd-show-all > button:hover,
body.iv2026-shell .ivh-page .ivh-tab:not(.active):not(.is-active):hover,
body.iv2026-shell .iv-profile__toggle-button:hover,
body.iv2026-shell .ivl-recorder-log-toggle:hover,
body.iv2026-shell .ivpoints .ivpoints-examples-toggle:hover,
body.iv2026-shell .ivnc-page .ivnc-filter:not(.is-active):hover,
body.iv2026-shell .ivn .ivn-tab:not(.is-active):hover,
body.iv2026-shell .ivcd-modal-close:hover {
  color: var(--iv-action-secondary-hover-text) !important;
  background: var(--iv-action-secondary-hover-bg) !important;
  border-color: var(--iv-action-secondary-hover-border) !important;
}

/* Components with inline or plugin rules use the same color hierarchy too. */
body.iv2026-shell .dataTables_wrapper .page-item:not(.active):not(.disabled) > .page-link {
  color: var(--iv-action-secondary-text) !important;
  background: var(--iv-action-secondary-bg) !important;
  border-color: var(--iv-action-secondary-border) !important;
}

body.iv2026-shell .dataTables_wrapper .page-item:not(.active):not(.disabled) > .page-link:hover {
  color: var(--iv-action-secondary-hover-text) !important;
  background: var(--iv-action-secondary-hover-bg) !important;
  border-color: var(--iv-action-secondary-hover-border) !important;
}

body.iv2026-shell .ivnc-page .ivnc-filter.is-active,
body.iv2026-shell .dataTables_wrapper .page-item.active > .page-link {
  color: #fff !important;
  background: #1769e0 !important;
  border-color: #1769e0 !important;
}
/* Site language selector - compact avionics control */
.iv-language-switch {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 2px;
    margin-right: 8px;
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(8, 27, 49, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.iv2026-shell .iv-language-switch__option {
    display: inline-grid;
    place-items: center;
    min-width: 31px;
    height: 27px;
    padding: 0 7px;
    border-radius: 999px;
    color: rgba(255, 255, 255, .82) !important;
    font-family: "IBM Plex Mono", monospace;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .06em;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

body.iv2026-shell .iv-language-switch__option:hover,
body.iv2026-shell .iv-language-switch__option:focus-visible {
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
}

body.iv2026-shell .iv-language-switch__option:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

body.iv2026-shell .iv-language-switch__option.is-active {
    color: #0b2744 !important;
    background: #fff;
    box-shadow: 0 4px 12px rgba(3, 18, 34, .2);
}

@media (max-width: 900px) {
    .iv-language-switch {
        margin-right: 5px;
    }

    body.iv2026-shell .iv-language-switch__option {
        min-width: 34px;
        height: 36px;
        padding: 0 6px;
        font-size: 12px;
    }
}

/* Mobile interaction closure - scoped controls, readable forms and complete content. */
@media (max-width: 900px) {
  body.iv2026-shell .ivauth :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
  ),
  body.iv2026-shell .iv-settings__control :where(input, select, textarea),
  body.iv2026-shell .ivpoints :where(.ivpoints-search, .ivpoints-year),
  body.iv2026-shell .iv-pilots :where(input[type="search"], select),
  body.iv2026-shell .ivh-filter-form :where(input[type="search"], select),
  body.iv2026-shell .ivcd-search input[type="search"],
  body.iv2026-shell .ivlog-page :where(input[type="search"], select),
  body.iv2026-shell #ivfp-rank-search,
  body.iv2026-shell #ivia-input {
    font-size: 16px !important;
  }

  body.iv2026-shell :where(
    .footer-main .social-icon,
    .header-right .drop-profile > a.nav-link.leading-none,
    .ivauth-password-toggle,
    .iv-settings__password-toggle,
    .iva-history-head > a,
    .ivh-back,
    .ivh-tab,
    .ivh-memory-link,
    .ivd-back,
    .ivd-jump a,
    .ive-back,
    .ivt-back,
    .ivt-leg-prepare,
    .ivl-back,
    .ivlog-open,
    .ivcareer-aircraft-link,
    .ivcareer-social-state,
    .ivps-action,
    .ivps-page-link,
    .ivpoints-back,
    .ivpoints-filter,
    .ivfp-airports-btn,
    .ivfp-debrief-actions > a,
    .ivfp-debrief-more-btn,
    .iv-pilots__pilot-arrow,
    .ivia-history-delete,
    .ivia-reset,
    .ivnc-read-one,
    .ivnc-open,
    .ivnc-page-link,
    .leaflet-control-zoom a,
    .leaflet-control-layers-toggle,
    .ivr-map-control,
    .ivr-filter,
    .page-link
  ) {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.iv2026-shell :where(
    .iva-points-help,
    .ivlog-readout-help,
    .ivcareer-readout-help,
    .ivfp-wingman-help,
    .ivcd-info,
    .iv-profile__info
  ) {
    box-sizing: border-box;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.iv2026-shell :where(
    .iva-points-help,
    .ivlog-readout-help,
    .ivcareer-readout-help,
    .ivcd-info
  ) {
    width: 44px !important;
    height: 44px !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.iv2026-shell :where(
    .iva-points-help,
    .ivlog-readout-help,
    .ivcareer-readout-help,
    .ivcd-info
  ) > i {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid rgba(145, 217, 246, .38);
    border-radius: 50%;
    color: inherit;
    background: rgba(145, 217, 246, .09);
    font-size: 10px !important;
    line-height: 1;
  }

  body.iv2026-shell .ivfp-page .ivfp-wingman-action .ivfp-wingman-help {
    width: 44px !important;
    height: 44px !important;
    border-color: transparent !important;
    color: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  body.iv2026-shell .ivfp-page .ivfp-wingman-action .ivfp-wingman-help::before {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: rgba(145, 217, 246, .09);
    content: "?";
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
  }

  body.iv2026-shell .ivlog-table-wrap {
    overflow: visible;
  }

  body.iv2026-shell .ivlog-table,
  body.iv2026-shell .ivlog-table tbody {
    display: block;
  }

  body.iv2026-shell .ivlog-table thead {
    display: none;
  }

  body.iv2026-shell .ivlog-table tbody {
    padding: 10px;
  }

  body.iv2026-shell .ivlog-table tr {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid var(--ivlog-line);
    border-radius: 14px;
  }

  body.iv2026-shell .ivlog-table td {
    display: block;
    min-width: 0;
    padding: 12px;
    border: 0;
    border-bottom: 1px solid #edf2f6;
    white-space: normal;
  }

  body.iv2026-shell .ivlog-table td::before {
    display: block;
    margin-bottom: 5px;
    content: attr(data-label);
  }

  body.iv2026-shell .ivlog-table td:nth-child(1),
  body.iv2026-shell .ivlog-table td:nth-child(2),
  body.iv2026-shell .ivlog-table td:nth-child(5),
  body.iv2026-shell .ivlog-table td:nth-child(6) {
    grid-column: 1 / -1;
  }

  body.iv2026-shell .ivlog-table td:last-child {
    position: absolute;
    top: 9px;
    right: 9px;
    padding: 0;
    border: 0;
  }

  body.iv2026-shell .ivlog-table td:last-child::before {
    display: none;
  }
}

@media (max-width: 767.98px) {

  body.iv2026-shell .iv-pilots .dataTables_paginate {
    overflow: visible !important;
  }

  body.iv2026-shell .iv-pilots .dataTables_paginate .pagination {
    width: 100% !important;
    justify-content: center;
    flex-wrap: wrap;
  }

  body.iv2026-shell .ivh-phase-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
    overflow: visible !important;
  }

  body.iv2026-shell .ivh-phase-step {
    width: auto !important;
    min-width: 0 !important;
  }

  body.iv2026-shell .ivd-page .ivd-person {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    align-items: start;
  }

  body.iv2026-shell .ivd-page .ivd-person-copy a {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.iv2026-shell .ivd-page .ivd-person-progress {
    width: 100%;
    min-width: 0;
    grid-column: 2;
    text-align: left;
  }

  body.iv2026-shell .ivd-page .ivd-progress {
    width: 100%;
  }

  body.iv2026-shell .iva-memory-card h3,
  body.iv2026-shell .iv-profile__award-body strong {
    display: block;
    overflow: visible;
    min-height: 0;
    -webkit-line-clamp: unset;
  }
}

/* Mobile layout alignment closure - centred shell and complete operational copy. */
@media (max-width: 991px) {
  body.iv2026-shell .horizontal-navtoggle {
    top: 50% !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }
}

@media (max-width: 900px) {
  body.iv2026-shell .ivhome-route-plane {
    display: none !important;
  }

  body.iv2026-shell .ivhome-eyebrow > i {
    flex: 0 0 8px;
  }

  body.iv2026-shell .ivhome-ticket-main strong,
  body.iv2026-shell .ivd-page .ivd-person-copy a,
  body.iv2026-shell .ivh-airport span,
  body.iv2026-shell .ivl-instrument span,
  body.iv2026-shell .ivskill-pilot strong,
  body.iv2026-shell .ivskill-pilot span,
  body.iv2026-shell .ivia-history-copy strong,
  body.iv2026-shell .ivdl-hero-release > div strong,
  body.iv2026-shell .iv-settings__identity > div strong,
  body.iv2026-shell .iv-settings__identity > div small,
  body.iv2026-shell .iv-settings__account-strip > div strong {
    overflow: visible !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.iv2026-shell .ivl-instrument span {
    display: flex !important;
    min-height: 2.5em;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    text-align: center;
  }

  body.iv2026-shell .ivcareer-award-body strong {
    display: block !important;
    overflow: visible !important;
    min-height: 0;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    white-space: normal !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
  }

  body.iv2026-shell .ivskill-list-row,
  body.iv2026-shell .ivia-history-item,
  body.iv2026-shell .iv-settings__identity {
    align-items: center;
  }
}

/* Mobile micro-layout polish - compact readouts stay aligned inside their own boxes. */
@media (max-width: 900px) {
  body.iv2026-shell .ivhome-live-strip {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr) minmax(0, 1fr);
    align-items: center;
  }

  body.iv2026-shell .ivhome-live-strip > div {
    display: grid;
    box-sizing: border-box;
    width: auto;
    min-width: 0 !important;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 0;
    padding: 0 5px;
    column-gap: 5px;
    text-align: left;
  }

  body.iv2026-shell .ivhome-live-strip > div:first-child {
    padding-left: 0;
  }

  body.iv2026-shell .ivhome-live-strip > div:nth-child(3) {
    padding-right: 0;
    border-right: 0;
  }

  body.iv2026-shell .ivhome-live-strip strong {
    font-size: 18px;
  }

  body.iv2026-shell .ivhome-live-strip small {
    min-width: 0;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: -.02em;
    white-space: nowrap;
  }

  body.iv2026-shell .ivhome-live-strip > a {
    width: 100%;
    grid-column: 1 / -1;
    margin: 20px 0 0;
    text-align: center;
  }

  body.iv2026-shell .ivhome-ops-head {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 12px;
    padding: 14px;
  }

  body.iv2026-shell .ivhome-ops-radar {
    width: 46px;
    height: 46px;
  }

  body.iv2026-shell .ivhome-ops-readouts {
    display: grid !important;
    width: 100%;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.iv2026-shell .ivhome-ops-readouts > span {
    display: grid;
    min-width: 0 !important;
    grid-template-columns: 15px minmax(0, 1fr);
    grid-template-rows: auto auto;
    padding: 8px 7px;
    column-gap: 4px;
  }

  body.iv2026-shell .ivhome-ops-readouts i {
    grid-row: 1;
    grid-column: 1;
    justify-self: end;
  }

  body.iv2026-shell .ivhome-ops-readouts b {
    min-width: 0;
    grid-row: 1;
    grid-column: 2;
    justify-self: start;
  }

  body.iv2026-shell .ivhome-ops-readouts small {
    width: 100%;
    grid-row: 2;
    grid-column: 1 / -1;
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: center;
    white-space: nowrap;
  }

  body.iv2026-shell .ivhome-ops-open {
    width: 100%;
    grid-column: 1 / -1;
  }

  body.iv2026-shell .ivhome-arrivals-columns {
    display: none !important;
  }

  body.iv2026-shell .ivhome-arrival-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "pilot time"
      "route route"
      "toggle toggle"
      "details details";
    gap: 12px 18px;
    padding: 18px;
  }

  body.iv2026-shell .ivhome-arrival-row > time {
    grid-area: time;
    text-align: right;
  }

  body.iv2026-shell .ivhome-arrival-pilot { grid-area: pilot; }
  body.iv2026-shell .ivhome-arrival-route { grid-area: route; }
  body.iv2026-shell .ivhome-arrival-aircraft { grid-area: aircraft; }
  body.iv2026-shell .ivhome-arrival-landing { min-width: 112px; grid-area: landing; }
  body.iv2026-shell .ivhome-arrival-mode { display: inline-flex !important; grid-area: mode; justify-self: start; }
  body.iv2026-shell .ivhome-arrival-status { grid-area: status; justify-self: end; }

  body.iv2026-shell .ivhome-multiplayer-state {
    max-width: 100%;
    line-height: 1.15;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.iv2026-shell .ivskill-list-head {
    display: none !important;
  }

  body.iv2026-shell .ivskill-list-row {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px;
    padding: 14px 10px;
  }

  body.iv2026-shell .ivskill-list-row .ivskill-list-pilot { grid-column: 2; }
  body.iv2026-shell .ivskill-list-row .ivskill-value.is-score { grid-row: 2; grid-column: 2; text-align: left; }
  body.iv2026-shell .ivskill-list-row .ivskill-tiebreak { grid-row: 3; grid-column: 2; justify-content: flex-start; }
  body.iv2026-shell .ivskill-list-row .ivskill-state { grid-row: 4; grid-column: 2; justify-self: start; }

  body.iv2026-shell .ivl-card-badge {
    flex: none;
    white-space: nowrap;
  }

  body.iv2026-shell #ivlLegCount {
    min-width: 58px;
    text-align: center;
  }
}

@media (max-width: 620px) {
  body.iv2026-shell .ive-page .ive-fact {
    grid-template-columns: 25px minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    align-items: start;
  }

  body.iv2026-shell .ive-page .ive-fact > i {
    grid-row: 1 / 3;
    grid-column: 1;
    align-self: center;
  }

  body.iv2026-shell .ive-page .ive-fact > span,
  body.iv2026-shell .ive-page .ive-fact > strong {
    grid-column: 2;
  }
}

@media (max-width: 520px) {
  body.iv2026-shell .ivhome-eyebrow {
    max-width: 100%;
    gap: 7px;
    font-size: 11px;
    letter-spacing: .1em;
    white-space: nowrap;
  }

  body.iv2026-shell .ivhome-arrival-pilot .ivhome-multiplayer-state {
    padding-right: 4px;
    padding-left: 4px;
    gap: 3px;
    font-size: 10px;
  }

  body.iv2026-shell .ivcareer-award,
  body.iv2026-shell .iv-profile__award {
    grid-template-columns: 78px minmax(0, 1fr) !important;
  }

  body.iv2026-shell .ivcareer-award-media,
  body.iv2026-shell .iv-profile__award-media {
    padding: 10px 6px;
  }

  body.iv2026-shell .ivcareer-award-media img,
  body.iv2026-shell .iv-profile__award-media img,
  body.iv2026-shell .ivcareer-award.is-flight-recognition .ivcareer-award-media img,
  body.iv2026-shell .iv-profile__award.is-flight-recognition .iv-profile__award-media img {
    max-width: 64px;
    max-height: 44px;
  }

  body.iv2026-shell .ivcareer-award-body,
  body.iv2026-shell .iv-profile__award-body {
    gap: 6px;
    padding: 12px 10px;
  }

  body.iv2026-shell .ivcareer-award-body small,
  body.iv2026-shell .iv-profile__award-body small {
    gap: 0;
    font-size: 11px;
    white-space: nowrap;
  }

  body.iv2026-shell .ivcareer-award-body small i,
  body.iv2026-shell .iv-profile__award-body small i {
    display: none;
  }

  body.iv2026-shell .iv-profile__toggle-button small {
    white-space: nowrap;
  }

  body.iv2026-shell .iva-memory-card {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }
}

/* Mobile content gutter parity - internal page boxes share the home alignment. */
@media (max-width: 991px) {
  body.iv2026-shell #iv-main-content > .container .container,
  body.iv2026-shell #iv-main-content > .container .ivauth-container {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* Mobile regression detail closure - keep telemetry, forms and actions fully usable. */
@media (max-width: 991px) {
  body.iv2026-shell #ivfp-week {
    font-size: 16px !important;
  }

  body.iv2026-shell .ivt-page .ivt-people-toggle,
  body.iv2026-shell .ivd-page .ivd-show-all > button,
  body.iv2026-shell .ivcd-page .ivcd-leave-btn {
    min-height: 44px !important;
  }
}

@media (max-width: 720px) {
  body.iv2026-shell .ivl .ivl-recorder-metric {
    padding-right: 6px;
    padding-left: 6px;
  }

  body.iv2026-shell .ivl .ivl-recorder-metric strong {
    overflow: visible;
    font-size: 13px;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
  }
}

/* Mobile sticky header and page-start alignment - one shared rhythm for every page family. */
@media (max-width: 991px) {
  body.iv2026-shell .hor-header.header {
    position: fixed !important;
    top: 0 !important;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 1120 !important;
  }

  body.iv2026-shell .page-main {
    padding-top: 60px;
  }

  body.iv2026-shell #iv-main-content {
    scroll-margin-top: 72px;
  }

  body.iv2026-shell .main-content {
    padding-top: 12px !important;
  }

  body.iv2026-shell #iv-main-content .page {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Mobile tooltip containment - preserve compact icons while moving long help text to the viewport layer. */
@media (max-width: 900px), (hover: none) {
  body.iv2026-shell :where(
    .iva-points-tooltip,
    .ivlog-readout-tooltip,
    .ivcareer-readout-tooltip,
    .ivcareer-social-tooltip,
    .ivfp-wingman-tooltip,
    .ivskill-tie-tooltip,
    .ivauth-help-popover
  ) {
    display: none !important;
  }

  body.iv2026-shell .iv-profile__info::after,
  body.iv2026-shell .iv-pilots__rank[data-tooltip]::after {
    display: none !important;
  }
}

/* Mobile submenu selected-state contrast - the pale route marker needs cockpit-dark labels. */
@media (max-width: 991px) {
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a,
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a.active,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > li > a.active {
    color: #102a4d !important;
    background: #e8f1ff !important;
    font-weight: 700 !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > i,
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > i::before,
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a.active > i,
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a.active > i::before,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > i,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > i::before,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > li > a.active > i,
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > li > a.active > i::before {
    color: #1769e0 !important;
  }

  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > span:not(.iv-nav-activity-alert),
  body.iv2026-shell .iv-simple-nav > li > ul.sub-menu > li > a.active > span:not(.iv-nav-activity-alert),
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > :is(li.is-active, li.active) > a > span:not(.iv-nav-activity-alert),
  body.iv2026-shell.dark-mode .iv-simple-nav > li > ul.sub-menu > li > a.active > span:not(.iv-nav-activity-alert) {
    color: #102a4d !important;
  }
}

@media (prefers-reduced-motion: reduce) {
    body.iv2026-shell .iv-language-switch__option {
        transition: none;
    }
}
html.iv-theme-switching *,
html.iv-theme-switching *::before,
html.iv-theme-switching *::after {
  transition: none !important;
}
