/* --- KPI Grid --- */
.geex-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
@media (max-width: 1200px){ .geex-kpi-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 640px){ .geex-kpi-grid{ grid-template-columns: 1fr; }}

/* --- KPI Card --- */
.geex-kpi{
  position: relative;
  border-radius: 16px;
  padding: 18px;
  background: var(--geex-surface, #111318);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  overflow: hidden;
  isolation: isolate;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.geex-kpi::before{
  content:"";
  position:absolute; inset:-1px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  border-radius: 18px;
  pointer-events:none;
}
.geex-kpi:hover{ transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.32); }

/* Accent variants */
.geex-kpi--primary { background:
  linear-gradient(135deg, rgba(93, 95, 239,.20), rgba(93, 95, 239,.06)) , var(--geex-surface,#111318); }
.geex-kpi--info    { background:
  linear-gradient(135deg, rgba(0, 172, 255,.16), rgba(0, 172, 255,.05)) , var(--geex-surface,#111318); }
.geex-kpi--success { background:
  linear-gradient(135deg, rgba(16, 185, 129,.18), rgba(16, 185, 129,.05)) , var(--geex-surface,#111318); }
.geex-kpi--warning { background:
  linear-gradient(135deg, rgba(245, 158, 11,.20), rgba(245, 158, 11,.06)) , var(--geex-surface,#111318); }

/* Body */
.geex-kpi__body{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.geex-kpi__text{ display:flex; flex-direction:column; gap:6px; }
.geex-kpi__subtitle{ margin:0; font-size:.9rem; color:rgba(255,255,255,.72); letter-spacing:.2px; }
.geex-kpi__title{ margin:0; font-size:1.9rem; font-weight:700; color:#fff; }

/* Icon bubble */
.geex-kpi__icon{
  width:58px; height:58px; min-width:58px;
  display:grid; place-items:center;
  border-radius:14px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  transform: translateZ(0);
}
.geex-kpi__icon img{ width:34px; height:34px; object-fit:contain; }
.geex-kpi__icon--round{ border-radius:50%; }

/* Badges */
.geex-kpi__badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  font-size:.75rem; font-weight:600; color:#fff;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.geex-kpi__badge--up      { background: linear-gradient(90deg, rgba(16,185,129,.25), rgba(16,185,129,.10)); }
.geex-kpi__badge--neutral { background: linear-gradient(90deg, rgba(148,163,184,.25), rgba(148,163,184,.10)); }
.geex-kpi__badge--tag     { background: linear-gradient(90deg, rgba(245,158,11,.25), rgba(245,158,11,.10)); }

/* Tiny progress/meter (pure CSS) */
.geex-kpi__meter{
  margin-top:14px; height:6px; border-radius:999px;
  background: rgba(255,255,255,.06); overflow:hidden;
}
.geex-kpi__meter span{
  display:block; height:100%; width: var(--val, 50%);
  background: linear-gradient(90deg, rgba(255,255,255,.2), rgba(255,255,255,.55));
  box-shadow: 0 0 20px rgba(255,255,255,.25);
  border-radius:999px;
  transition: width .6s ease;
}

/* Dark/light theming hooks (optional, matches your geex prefix) */
:root[data-theme="light"] .geex-kpi{
  --geex-surface: #ffffff;
  color: #0b1220;
}
:root[data-theme="light"] .geex-kpi__subtitle{ color: #495266; }
:root[data-theme="light"] .geex-kpi__title{ color: #0b1220; }

/* ===========================
   Premium Crew Badge (v2)
   =========================== */
.crew-badge{
  position:absolute;
  right:-8px;
  bottom:-8px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:
    radial-gradient(120% 80% at 25% 10%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 55%),
    radial-gradient(120% 120% at 70% 90%, rgba(0,0,0,.22) 0%, rgba(0,0,0,0) 55%),
    linear-gradient(135deg, #C8102E 0%, #063D78 100%);
  box-shadow:
    0 8px 24px rgba(0,0,0,.45),
    inset 0 0 0 1.25px rgba(255,255,255,.22),
    inset 0 0 0 3px rgba(255,255,255,.06);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:8px;
  overflow:hidden;
  isolation:isolate;
  transition: transform .18s ease, box-shadow .28s ease, filter .28s ease;
}
.crew-badge::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    conic-gradient(from 210deg at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,0) 40% 85%, rgba(255,255,255,.08)),
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.12), rgba(255,255,255,0) 50%);
  mix-blend-mode: screen;
  pointer-events:none;
}
.crew-badge::after{
  content:"";
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:28px;
  height:22px;
  background: var(--logo, none) no-repeat center/contain;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
  opacity:.98;
}
.crew-badge:not([style*="--logo"])::after{
  width:0; height:0;
  border-left:14px solid transparent;
  border-right:14px solid transparent;
  border-bottom:24px solid #FFFFFF;
  background:none;
}
.crew-badge__label{
  position:relative;
  z-index:1;
  color:#fff;
  font-family:"Jost", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:800;
  font-size:.62rem;
  letter-spacing:.7px;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.crew-badge:hover{
  transform:scale(1.06) rotate(-1.5deg);
  box-shadow:
    0 10px 30px rgba(0,0,0,.55),
    inset 0 0 0 1.25px rgba(255,255,255,.24),
    inset 0 0 0 3px rgba(255,255,255,.08);
  filter: saturate(1.05);
}
.profile-avatar-wrap { position: relative; display:inline-block; }

/* Size variants */
.crew-badge.badge-sm{ width:50px; height:50px; right:-6px; bottom:-6px; }
.crew-badge.badge-sm::after{ top:8px; width:22px; height:18px; }
.crew-badge.badge-sm .crew-badge__label{ font-size:.55rem; padding-bottom:6px; }

.crew-badge.badge-lg{ width:76px; height:76px; right:-10px; bottom:-10px; }
.crew-badge.badge-lg::after{ top:12px; width:34px; height:26px; }
.crew-badge.badge-lg .crew-badge__label{ font-size:.7rem; padding-bottom:10px; }

:root[data-theme="dark"] .crew-badge{
  box-shadow:
    0 8px 26px rgba(0,0,0,.6),
    inset 0 0 0 1.25px rgba(255,255,255,.18),
    inset 0 0 0 3px rgba(255,255,255,.05);
}

/* --- Stat Cards (clean, glossy, dvav4-friendly) --- */
.gx-stat {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 18px 18px;
  border-radius: 16px;
  background:
    radial-gradient(120% 120% at 85% -10%, rgba(255,255,255,.16), rgba(255,255,255,0) 55%),
    linear-gradient(135deg, #0e1b2e 0%, #192a46 100%);
  box-shadow: 0 8px 20px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.06);
  color: #e9edf7;
  transition: transform .18s ease, box-shadow .28s ease, filter .28s ease;
}
.gx-stat:hover { transform: translateY(-2px); filter: saturate(1.03); box-shadow: 0 12px 28px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08); }

.gx-stat__value { font: 800 28px/1.1 "Jost", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; letter-spacing: .2px; }
.gx-stat__label { margin: 4px 0 0; font: 600 12px/1.2 "Jost", system-ui; color: #a9b4c9; letter-spacing: .5px; text-transform: uppercase; }

.gx-stat__chip {
  display:inline-flex; align-items:center; gap:6px;
  padding: 6px 10px; border-radius: 999px;
  font: 700 11px/1 "Jost", system-ui; letter-spacing:.4px; color:#0c203a;
  background: linear-gradient(180deg, #ffffff, #dbe7ff);
  box-shadow: 0 2px 8px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.7);
}

.gx-stat__icon {
  width: 44px; height: 44px; border-radius: 12px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #C8102E 0%, #063D78 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(6,61,120,.35);
  color: #fff;
}
.gx-stat__icon svg { width:22px; height:22px; opacity:.95; }

/* light variants (optional) */
.gx-stat--green .gx-stat__icon { background: linear-gradient(135deg, #13b47b 0%, #0b8f63 100%); }
.gx-stat--amber .gx-stat__icon { background: linear-gradient(135deg, #ffb200 0%, #ff7a00 100%); }
.gx-stat--blue  .gx-stat__icon { background: linear-gradient(135deg, #3a7bd5 0%, #184e9e 100%); }

/* --- Awards Grid --- */
.awards-wrap { --gap: 16px; display:grid; gap: var(--gap); }
@media (min-width: 576px){ .awards-wrap { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 992px){ .awards-wrap { grid-template-columns: repeat(3,1fr); } }

.award-card{
  position:relative; border-radius:16px; overflow:hidden;
  background:
    radial-gradient(120% 120% at 100% -10%, rgba(255,255,255,.16), rgba(255,255,255,0) 50%),
    linear-gradient(135deg, #0d1a2c 0%, #12243e 100%);
  color:#e9edf7;
  box-shadow: 0 10px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06);
  transition: transform .18s ease, box-shadow .28s ease, filter .28s ease;
}
.award-card:hover { transform: translateY(-3px); filter: saturate(1.04); box-shadow: 0 16px 36px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.08); }

.award-card__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.award-card__title{ margin:0; font:800 16px/1.1 "Jost", system-ui; letter-spacing:.2px; }

.award-card__ribbon{
  font:800 10px/1 "Jost", system-ui; letter-spacing:.6px; text-transform:uppercase; color:#0f2442;
  background: linear-gradient(180deg, #ffd166, #ffb703); padding:6px 10px; border-radius:999px;
  box-shadow: 0 3px 8px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.75);
}

.award-card__body{ padding:18px 16px 20px; text-align:center; }
.award-card__img-wrap{ display:grid; place-items:center; margin:4px auto 10px; width:112px; height:112px; border-radius:12px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.award-card__img-wrap img{ max-width:80%; height:auto; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }

.award-card__desc{ margin:0; color:#a9b4c9; font:600 13px/1.45 "Jost", system-ui; }

/* Small trophy icon (fallback) */
.award-trophy {
  width:40px; height:40px; border-radius:10px;
  display:grid; place-items:center; color:#fff;
  background: linear-gradient(135deg, #C8102E 0%, #063D78 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 6px 14px rgba(6,61,120,.35);
}
.award-trophy svg{ width:18px; height:18px; }

:root{
    --dl-navy:#041E42;      /* Delta Navy */
    --dl-red:#C8102E;       /* Delta Red */
    --dl-sky:#E8F0FA;       /* Soft sky */
    --ink:#17202A;          /* Body text */
    --muted:#6C7A89;        /* Muted text */
    --edge:#E5E7EB;         /* Hairline */
  }

  .bp-list{display:grid;gap:1rem}
  .bp{
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 20px rgba(4,30,66,.10);
    overflow:hidden;
    border:1px solid var(--edge);
  }
  /* Top band */
  .bp__brand{
    background:linear-gradient(135deg,var(--dl-navy) 0%,#0B2B63 48%, var(--dl-red) 48%, var(--dl-red) 52%, var(--dl-navy) 52%, var(--dl-navy) 100%);
    background-size:220% 220%;
    animation:bpStripe 7s ease-in-out infinite alternate;
    color:#fff; display:flex; align-items:center; gap:.75rem;
    padding:.75rem 1rem;
  }
  @keyframes bpStripe{to{background-position:100% 100%}}

  .bp__brand img{height:24px; width:auto}
  .bp__brand .airline{font-weight:700; letter-spacing:.04em}
  .bp__brand .ident{margin-left:auto; font-variant-numeric:tabular-nums; font-weight:600; opacity:.95}

  /* Core section */
  .bp__core{display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; padding:1rem 1.25rem}
  .bp__apt{
    display:grid; gap:.15rem; justify-items:start;
  }
  .bp__apt--right{justify-items:end; text-align:right}
  .bp__code{
    font-size:2.25rem; line-height:1; font-weight:800; letter-spacing:.02em; color:var(--ink);
  }
  .bp__name{font-size:.85rem; color:var(--muted); max-width:22ch; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

  .bp__route{
    display:flex; align-items:center; gap:.75rem; padding:0 .5rem; color:var(--muted);
  }
  .bp__route .dot{width:.4rem; height:.4rem; border-radius:999px; background:var(--dl-red)}
  .bp__route .line{
    width:110px; max-width:18vw; height:2px; background:linear-gradient(90deg,var(--edge) 10%, var(--dl-navy) 50%, var(--edge) 90%);
    position:relative;
  }
  .bp__route .plane{
    font-size:1rem; transform:translateY(-2px) rotate(8deg);
  }

  /* Meta strip */
  .bp__meta{
    display:grid; grid-template-columns:repeat(4,1fr) auto; gap:.5rem; padding:.75rem 1.25rem; border-top:1px dashed var(--edge); background:var(--dl-sky);
  }
  .bp__kv{display:grid; gap:.25rem}
  .bp__kv .k{font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted)}
  .bp__kv .v{font-variant-numeric:tabular-nums; font-weight:700; color:var(--ink)}
  .bp__chip{
    margin-left:auto; align-self:center; font-size:.7rem; font-weight:700; padding:.25rem .5rem; border-radius:999px; color:#fff; background:var(--dl-navy);
  }

  /* Footer actions + barcode edge */
  .bp__footer{
    display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; justify-content:space-between; padding:0.85rem 1.25rem; border-top:1px solid var(--edge); position:relative;
  }
  .bp__barcode{
    --bar:#101820; height:32px; display:flex; gap:2px; align-items:flex-end; position:absolute; right:1.25rem; top:-16px; padding:2px 6px; background:#fff; border:1px solid var(--edge); border-radius:6px;
  }
  .bp__barcode span{width:2px; background:var(--bar); display:block}
  .bp__btns{display:flex; gap:.5rem; flex-wrap:wrap}
  .btn-dl{--b:var(--dl-navy); background:var(--b); border:0; color:#fff}
  .btn-dl:hover{filter:brightness(1.05)}
  .btn-dl.outline{background:#fff; color:var(--dl-navy); border:1px solid var(--dl-navy)}
  .btn-dl.red{--b:var(--dl-red)}

  /* Small tweaks */
  .badge-ghost{background:#fff; border:1px solid var(--edge); color:var(--muted); font-weight:600}
  .text-ghost{color:var(--muted)}
  @media (max-width: 576px){
    .bp__core{grid-template-columns:1fr; text-align:center}
    .bp__apt,.bp__apt--right{justify-items:center; text-align:center}
    .bp__route{justify-content:center}
    .bp__meta{grid-template-columns:repeat(2,1fr) auto}
  }
  
  /* === Operations Hero (Delta Light) === */
  .ops-hero {
    position: relative;
    overflow: hidden;
    border-radius: 1.25rem;
    background:
      radial-gradient(1200px 500px at 100% -20%, rgba(200,16,46,.10), transparent 60%),
      radial-gradient(900px 400px at -10% 110%, rgba(0,51,102,.10), transparent 60%),
      linear-gradient(135deg, #f8fafc, #eef2f7);
    box-shadow: 0 18px 40px rgba(2, 6, 23, .12);
    padding: clamp(1.25rem, 2.5vw, 2rem);
  }

  .ops-hero-inner {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 2rem;
    align-items: center;
  }

  .ops-eyebrow {
    display:inline-flex; gap:.5rem; align-items:center;
    font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
    color:#0f172a; background:#ffffff; border:1px solid #e2e8f0;
    padding:.35rem .6rem; border-radius:.5rem; font-weight:700;
  }

  .ops-title {
    font-weight: 900;
    color: #003366; /* Delta Navy */
    line-height: 1.05;
    font-size: clamp(1.8rem, 4.2vw, 2.8rem);
    margin: .6rem 0 .4rem;
    letter-spacing: .01em;
  }

  .ops-sub {
    color: #475569;
    font-size: clamp(.95rem, 1.4vw, 1.05rem);
    margin-bottom: 1rem;
  }

  .ops-breadcrumbs {
    display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
    font-size:.85rem; color:#64748b; margin-bottom:.75rem;
  }
  .ops-breadcrumbs a { color:#0f172a; text-decoration:none; }
  .ops-breadcrumbs a:hover { color:#C8102E; }

  .ops-cta { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
  .btn-ops-primary, .btn-ops-ghost {
    appearance:none; border-radius:.8rem; padding:.7rem 1rem; font-weight:800;
    border:1px solid transparent; text-decoration:none; display:inline-flex; gap:.5rem; align-items:center;
  }
  .btn-ops-primary {
    background: linear-gradient(135deg, #003366, #0a4a8a);
    color:#fff; border-color:#0a4a8a;
    box-shadow: 0 10px 20px rgba(0,51,102,.25);
  }
  .btn-ops-primary:hover { filter: brightness(1.05); }
  .btn-ops-ghost {
    background:#ffffff; color:#0f172a; border-color:#e2e8f0;
  }
  .btn-ops-ghost:hover { border-color:#94a3b8; }

  /* Stat pills */
  .ops-stats { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem; }
  .stat-pill {
    background:#ffffff; border:1px solid #e5e7eb; border-radius:.75rem;
    padding:.55rem .75rem; display:flex; gap:.5rem; align-items:center;
    box-shadow: 0 6px 12px rgba(15,23,42,.06);
  }
  .stat-label { font-size:.75rem; color:#64748b; text-transform:uppercase; letter-spacing:.08em; }
  .stat-value { font-weight:900; color:#0f172a; }

  /* Right column: quick tools card */
  .ops-panel {
    background:#ffffff; border:1px solid #e5e7eb; border-radius:1rem;
    padding:1rem; box-shadow: 0 12px 24px rgba(15,23,42,.06);
  }
  .ops-panel h6 { font-weight:800; color:#0f172a; margin:0 0 .75rem; }
  .ops-list { display:grid; gap:.5rem; }
  .ops-item {
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    background: linear-gradient(180deg,#fff,#f8fafc); border:1px solid #eef2f7; border-radius:.75rem;
    padding:.65rem .75rem;
  }
  .ops-item .left { display:flex; gap:.6rem; align-items:center; }
  .ops-badge {
    width:34px; height:34px; border-radius:.6rem; display:grid; place-items:center;
    background: #f1f5f9; color:#C8102E; /* Delta Red accent */
    border:1px solid #e2e8f0;
  }
  .ops-link { text-decoration:none; font-weight:800; color:#003366; }
  .ops-link:hover { color:#C8102E; }

  /* Search */
  .ops-search {
    display:flex; gap:.5rem; margin-top: .75rem;
    background:#f8fafc; border:1px solid #e5e7eb; padding:.5rem; border-radius:.75rem;
  }
  .ops-search input {
    border:0; background:transparent; outline:none; width:100%;
    font-size:.95rem; color:#0f172a;
  }
  .ops-search button {
    border:1px solid #0a4a8a; background:linear-gradient(135deg,#003366,#0a4a8a);
    color:#fff; border-radius:.6rem; padding:.45rem .7rem; font-weight:800;
  }
  .ops-search button:hover { filter:brightness(1.05); }

  /* Small screen */
  @media (max-width: 992px){
    .ops-hero-inner { grid-template-columns: 1fr; }
  }

/* =========================================================
   DVA – Accent Blue Overrides (put in dvav4/stylesheets/dva.css)
   ========================================================= */
:root{
  /* Pick your blue here */
  --dva-accent: #0ea5e9;        /* sky-blue */
  --dva-accent-strong: #2563eb; /* deeper blue for contrast */
  --dva-accent-20: rgba(14,165,233,.20);
  --dva-accent-06: rgba(14,165,233,.06);
}

/* 1) Section/title bars (e.g., “Weather at KTPA”, “Map”, “Inbound/Outbound Flights”) */
.card-header,
.geex-card .geex-card__header,
.geex-panel__head,
.geex-widget__title,
.geex-block__title,
.section-title,
.table-section > .title,
.geex-content .widget-title {
  background: linear-gradient(135deg, var(--dva-accent-20), var(--dva-accent-06)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}

/* Optional: give the whole card a subtle blue outline to tie in the header */
.card.card-glass,
.geex-card,
.geex-panel,
.widget {
  border: 1px solid rgba(14,165,233,.15) !important;
  border-radius: 12px !important;
}

/* 2) Small chips/badges that were purple (e.g., “Weather at KTPA”, “Map”, counters) */
.badge,
.badge.bg-info,
.geex-content__header__badge,
.tag,
.label,
.geex-tag {
  background: var(--dva-accent) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 0 0 1px rgba(14,165,233,.12) inset !important;
}

/* 3) Primary/gradient buttons */
.btn-grd-primary,
.btn-primary,
.geex-btn--primary {
  background: linear-gradient(90deg, var(--dva-accent), var(--dva-accent-strong)) !important;
  border-color: var(--dva-accent-strong) !important;
  color: #fff !important;
}
.btn-grd-primary:hover,
.btn-primary:hover,
.geex-btn--primary:hover {
  filter: brightness(1.08);
}

/* 4) Selects/inputs focus ring to match the blue theme */
.form-control:focus,
.form-select:focus,
.tom-select .ts-control:focus,
.tom-select .ts-control.focus {
  border-color: var(--dva-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(14,165,233,.25) !important;
}

/* 5) “Info” accent blocks that may have used purple backgrounds */
.alert-info,
.info-box,
.geex-info {
  background: linear-gradient(135deg, var(--dva-accent-06), transparent) !important;
  border-left: 3px solid var(--dva-accent) !important;
}

/* 6) Tiny utility chips near headings (like small grey ovals) */
.badge.badge-soft,
.badge-soft,
.pill,
.kbd,
.meta-chip {
  background: rgba(14,165,233,.10) !important;
  color: var(--dva-accent) !important;
  border: 1px solid rgba(14,165,233,.25) !important;
}

/* 7) Map block header (if it’s a custom title above the map container) */
.map-title,
.leaflet-title,
#map ~ .section-title {
  background: linear-gradient(135deg, var(--dva-accent-20), var(--dva-accent-06)) !important;
  color: #fff !important;
  border-radius: 10px !important;
}

/* =========================================================
   DVA – Menu Hover Gradient (Red Glow)
   ========================================================= */

:root {
  --dva-hover-red-start: #f87171; /* light red */
  --dva-hover-red-end: #dc2626;   /* deeper red */
}

/* === Base Menu Links === */
.geex-sidebar ul li a,
.geex-menu ul li a,
.nav-item > a,
.sidebar-link {
  transition: all 0.3s ease;
  border-radius: 8px;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

/* === Gradient Hover Effect === */
.geex-sidebar ul li a:hover,
.geex-menu ul li a:hover,
.nav-item:hover > a,
.sidebar-link:hover {
  color: #fff !important;
  background: linear-gradient(90deg, var(--dva-hover-red-start), var(--dva-hover-red-end)) !important;
  box-shadow: 0 0 8px rgba(220, 38, 38, 0.4);
  transform: translateX(3px);
}

/* === Icons also turn red-on-hover === */
.geex-sidebar ul li a:hover i,
.geex-menu ul li a:hover i,
.nav-item:hover i {
  color: #fff !important;
  transition: color 0.3s ease;
}

/* === Active / Selected Menu Item === */
.geex-sidebar ul li.active > a,
.geex-menu ul li.active > a,
.nav-item.active > a {
  background: linear-gradient(90deg, var(--dva-hover-red-end), #991b1b) !important;
  color: #fff !important;
  border-left: 3px solid #991b1b !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.3);
}

/* === Smooth Entry Transition for Menu Items === */
.geex-sidebar ul li a,
.geex-menu ul li a {
  transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

/* ====== DVA Hero ====== */
.dva-hero{
  position: relative;
  padding: clamp(28px, 4vw, 56px) 0;
  background:
    radial-gradient(1000px 400px at 10% -10%, rgba(0,153,255,.25), transparent 60%),
    radial-gradient(900px 360px at 90% 0%, rgba(0,102,255,.20), transparent 60%),
    linear-gradient(135deg, rgba(28, 104, 255,.18), rgba(28, 104, 255,.06)),
    var(--geex-surface, #0f1115);
  border-bottom: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}

.dva-hero.has-image::before{
  content: "";
  position: absolute; inset: 0;
  background-image: var(--dva-hero-bg);
  background-size: cover; background-position: center;
  opacity: .18; filter: saturate(1.1) contrast(1.05);
}

.dva-hero .container{ position: relative; z-index: 1; }

.dva-crumbs .breadcrumb{
  --bs-breadcrumb-divider-color: rgba(255,255,255,.4);
  margin: 0 0 .5rem 0;
}
.dva-crumbs .breadcrumb-item a{
  color: rgba(255,255,255,.72); text-decoration: none;
}
.dva-crumbs .breadcrumb-item a:hover{ color: #fff; text-decoration: underline; }
.dva-crumbs .breadcrumb-item.active{ color: rgba(255,255,255,.5); }

.dva-hero-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 992px){
  .dva-hero-row{ grid-template-columns: 1.2fr .8fr; align-items: center; }
}

.dva-hero-copy{
  backdrop-filter: blur(6px);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: clamp(16px, 2vw, 24px);
  box-shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}

.dva-hero-title{
  margin: 0 0 .25rem 0;
  font-weight: 700;
  letter-spacing: .2px;
  font-size: clamp(22px, 3.6vw, 36px);
  color: #fff;
}

.dva-hero-subtitle{
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(14px, 1.6vw, 16px);
}

.dva-hero-actions{
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-top: 1rem;
}
.dva-hero-actions .btn{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(6px);
}
.dva-hero-actions .btn-primary{
  background: linear-gradient(180deg, rgba(32,132,255,1), rgba(25,110,230,1));
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 8px 18px rgba(25,110,230,.35);
}
.dva-hero-actions .btn-outline-light{
  background: rgba(255,255,255,.06);
  color: #fff;
}

.dva-hero-aside{
  display: grid; gap: .75rem;
}
.dva-hero-aside .hero-aside-card{
  border-radius: 14px; padding: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
}

/* Optional: compact mode when stacked */
@media (max-width: 991.98px){
  .dva-hero-copy{ padding: 14px; border-radius: 14px; }
}

/* ====== Page Background ====== */
body {
  background: linear-gradient(135deg, #e6f4ff, #d0ebff);
  background-attachment: fixed;
  color: #000;
  font-family: 'Jost', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

/* ====== Stats Cards ====== */
.pf4-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 992px) {
  .pf4-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pf4-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5));
  border: 1px solid rgba(0, 0, 0, 0.05);
  padding: 14px;
  min-height: 110px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.pf4-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}
.pf4-card .pf4-ico {
  position: absolute;
  right: 12px;
  top: 12px;
  opacity: 0.25;
  font-size: 24px;
}
.pf4-label {
  color: #333;
  font-size: 0.85rem;
  margin-bottom: 4px;
}
.pf4-value {
  color: #000;
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0.2px;
}
.pf4-sub {
  color: #555;
  font-size: 0.8rem;
  margin-top: 2px;
}

/* ====== Tab Navigation ====== */
.pf-tabs .nav-link {
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  color: #000 !important;
  background: rgba(255, 255, 255, 0.9);
  margin-right: 6px;
  border-radius: 10px;
  padding: 0.45rem 0.95rem;
  font-size: 0.95rem;
  font-weight: 600;
  transition: all 0.25s ease;
}
.pf-tabs .nav-link:hover,
.pf-tabs .nav-link:focus {
  color: #111 !important;
  background: rgba(255, 255, 255, 1);
  border-color: rgba(0, 0, 0, 0.25) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.pf-tabs .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, #3a7bd5, #00d2ff) !important;
  border-color: transparent !important;
  box-shadow: 0 6px 18px rgba(0, 140, 255, 0.4);
}

/* ====== Tab Content Panels ====== */
.pf-pane {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

/* ====== Modern Table Styling ====== */
.table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  margin-top: 12px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 12px;
  overflow: hidden;
}
.table thead {
  background: linear-gradient(135deg, #3a7bd5, #00d2ff);
  color: #fff;
}
.table thead th {
  border-bottom: none;
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 14px;
}
.table tbody tr {
  transition: all 0.25s ease;
}
.table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.03);
}
.table tbody tr:hover {
  background: rgba(0, 162, 255, 0.08);
  transform: scale(1.003);
}
.table tbody td {
  color: #222;
  font-size: 0.9rem;
  padding: 10px 14px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.table tbody td.text-end {
  text-align: right;
}

/* ====== KPI Tiles ====== */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 768px) {
  .kpi-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.kpi {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.9);
  transition: all 0.25s ease;
}
.kpi:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
}
.kpi .kpi-label {
  color: #444;
  font-size: 0.8rem;
}
.kpi .kpi-value {
  color: #000;
  font-weight: 700;
  font-size: 1.1rem;
}

/* Pilot Logbook – dvav4 look */
.card-logbook {
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  overflow: hidden;
}

.card-logbook .logbook-header {
  background: linear-gradient(135deg, #0e1b2e, #192a46);
  color: #fff;
  font-weight: 700;
  border-radius: 16px 16px 0 0;
  padding: 0.85rem 1.25rem;
}

.logbook-wrap {
  /* soft paper */
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.05));
}

.logbook-table {
  --grid-line: rgba(255,255,255,.08);
  --ink: rgba(255,255,255,.85);
  --muted-ink: rgba(255,255,255,.55);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.logbook-table thead th {
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid var(--grid-line);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .72rem;
  color: var(--muted-ink);
  white-space: nowrap;
}

.logbook-table tbody tr {
  border-top: 1px dashed var(--grid-line);
}

.logbook-table td,
.logbook-table th {
  padding: .625rem .75rem;
  vertical-align: middle;
}

.logbook-table .lb-date { width: 110px; }
.logbook-table .lb-ac   { min-width: 160px; }
.logbook-table .lb-flt  { width: 105px; }
.logbook-table .lb-route{ width: 88px; }
.logbook-table .lb-time { width: 78px; }
.logbook-table .lb-land { width: 96px; text-align: right; }
.logbook-table .lb-remarks { min-width: 220px; }

.lb-ac-type { font-weight: 600; line-height: 1.1; }
.lb-ac-reg  { font-size: .75rem; color: var(--muted-ink); }

/* Subtle row hover to aid scanning */
.logbook-table tbody tr:hover {
  background: rgba(255,255,255,.03);
}

/* On very small screens, let the table scroll and shrink spacing a touch */
@media (max-width: 576px) {
  .logbook-table td, .logbook-table th { padding: .45rem .5rem; }
  .logbook-table .lb-remarks { min-width: 180px; }
}

