:root{--fv-green:#173b31;--fv-green-2:#244d40;--fv-matcha:#7c9272;--fv-cream:#f7f4ec;--fv-paper:#fff;--fv-ink:#1e2924;--fv-muted:#6d7771;--fv-line:#e2e7df;--fv-soft:#eef2eb}
.fv-saba-track{max-width:980px;margin:30px auto;padding:32px;border:1px solid var(--fv-line);border-radius:24px;background:#fbfaf6;box-shadow:0 18px 50px rgba(20,50,41,.06)}
.fv-saba-track__head>span{color:#718667;font-size:12px;font-weight:700}.fv-saba-track__head h2{margin:8px 0;color:#15392f;font-size:clamp(26px,3vw,40px)}.fv-saba-track__head p{color:#667169}.fv-saba-track__form{display:flex;gap:10px;margin-top:22px}.fv-saba-track__form input{flex:1;min-height:52px;padding:0 16px;border:1px solid #d8ded5;border-radius:14px;background:#fff;font:inherit;outline:none}.fv-saba-track__form input:focus{border-color:#7c9272;box-shadow:0 0 0 3px rgba(124,146,114,.12)}.fv-saba-track__form button{min-height:52px;padding:0 24px;border:0;border-radius:14px;background:var(--fv-green);color:#fff;font:inherit;font-weight:700;cursor:pointer}.fv-saba-track__form button:disabled{opacity:.55;cursor:wait}.fv-saba-track__message{display:block;min-height:22px;margin-top:10px;color:#667169;font-size:12px}
html.fv-saba-modal-open,html.fv-saba-modal-open body{overflow:hidden!important}.fv-saba-modal{position:fixed;z-index:2147483000;inset:0;display:grid;place-items:center;padding:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.fv-saba-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.fv-saba-modal__backdrop{position:absolute;inset:0;background:rgba(12,30,25,.63);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fv-saba-modal__panel{position:relative;width:min(960px,100%);max-height:min(86vh,860px);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:var(--fv-paper);box-shadow:0 32px 100px rgba(8,25,20,.28);transform:translateY(18px) scale(.985);transition:transform .26s ease}.fv-saba-modal.is-open .fv-saba-modal__panel{transform:translateY(0) scale(1)}.fv-saba-modal__chrome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid var(--fv-line);background:linear-gradient(180deg,#fff,#fbfcfa)}.fv-saba-modal__eyebrow{display:block;color:var(--fv-matcha);font-size:10px;font-weight:800;letter-spacing:.12em}.fv-saba-modal__chrome h2{margin:4px 0 0!important;color:var(--fv-green)!important;font-size:21px!important;line-height:1.35!important}.fv-saba-modal__close{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--fv-line);border-radius:50%;background:#fff;color:var(--fv-green);font:300 29px/1 Arial,sans-serif;cursor:pointer;transition:.18s ease}.fv-saba-modal__close:hover{background:var(--fv-soft);transform:rotate(4deg)}.fv-saba-modal__body{max-height:calc(min(86vh,860px) - 88px);overflow:auto;padding:24px;background:#fbfaf7;overscroll-behavior:contain}
.fv-saba-state{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;color:var(--fv-muted)}.fv-saba-state strong{color:var(--fv-green);font-size:17px}.fv-saba-state small{direction:ltr}.fv-saba-state__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--fv-soft);color:var(--fv-green);font-size:24px}.fv-saba-spinner{width:44px;height:44px;border:3px solid #dde5da;border-top-color:var(--fv-green);border-radius:50%;animation:fvSabaSpin .8s linear infinite}@keyframes fvSabaSpin{to{transform:rotate(360deg)}}
.fv-saba-result{padding:26px;border:1px solid var(--fv-line);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(20,50,41,.055)}.fv-saba-result+.fv-saba-result{margin-top:18px}.fv-saba-result__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fv-saba-badges{display:flex;gap:8px;flex-wrap:wrap}.fv-saba-badge{display:inline-flex;align-items:center;min-height:31px;padding:0 12px;border-radius:999px;background:var(--fv-green);color:#fff;font-size:11px;font-weight:750}.fv-saba-badge--soft{background:var(--fv-soft);color:var(--fv-green)}.fv-saba-reference{text-align:end}.fv-saba-reference span{display:block;color:#8b958f;font-size:10px}.fv-saba-reference strong{display:block;margin-top:4px;color:var(--fv-green);font-size:13px;direction:ltr;letter-spacing:.02em}
.fv-saba-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr) minmax(0,1fr);align-items:center;gap:18px;margin:26px 0;padding:19px 20px;border-radius:18px;background:var(--fv-cream)}.fv-saba-route__point span{display:block;margin-bottom:5px;color:#919a95;font-size:10px}.fv-saba-route__point strong{display:block;color:#29463b;font-size:12px;line-height:1.55}.fv-saba-route__point--end{text-align:end}.fv-saba-route__line{display:flex;align-items:center;min-width:0}.fv-saba-route__track{height:1px;flex:1;background:#b9c7b3}.fv-saba-route__dot{width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--fv-matcha);box-shadow:0 0 0 1px var(--fv-matcha)}.fv-saba-route__vehicle{display:grid;place-items:center;width:28px;height:28px;margin:0 7px;border-radius:50%;background:#fff;color:var(--fv-green);box-shadow:0 5px 15px rgba(20,50,41,.08);font-size:13px}
.fv-saba-current{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;border:1px solid #dbe5d7;border-radius:18px;background:linear-gradient(135deg,#f4f7f1,#fbfcfa)}.fv-saba-current__pulse{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e6eee2}.fv-saba-current__pulse span{width:10px;height:10px;border-radius:50%;background:var(--fv-green);box-shadow:0 0 0 7px rgba(23,59,49,.09)}.fv-saba-current__copy>span{display:block;color:#839087;font-size:10px}.fv-saba-current__copy h3{margin:3px 0 0!important;color:var(--fv-green)!important;font-size:19px!important;line-height:1.45!important}.fv-saba-current__copy p{margin:4px 0 0!important;color:#647169!important;font-size:11px!important}.fv-saba-current__time{text-align:end;direction:ltr}.fv-saba-current__time span,.fv-saba-current__time small{display:block;color:#647169;font-size:11px}.fv-saba-current__time small{margin-top:4px;color:#949d98;font-size:9px}
.fv-saba-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.fv-saba-fact{padding:12px 14px;border:1px solid #edf0eb;border-radius:14px;background:#fff}.fv-saba-fact span{display:block;color:#929b96;font-size:9px}.fv-saba-fact strong{display:block;margin-top:4px;color:#314a40;font-size:11px;word-break:break-word}
.fv-saba-journey{margin-top:26px}.fv-saba-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.fv-saba-section-title span{color:var(--fv-green);font-size:13px;font-weight:800}.fv-saba-section-title:after{content:"";height:1px;flex:1;background:var(--fv-line)}.fv-saba-timeline{position:relative;list-style:none!important;margin:0!important;padding:0!important}.fv-saba-timeline:before{content:"";position:absolute;inset-inline-start:15px;top:18px;bottom:18px;width:1px;background:#dce4d9}.fv-saba-timeline li{position:relative;display:grid;grid-template-columns:31px 1fr;gap:13px;padding:0 0 17px!important;margin:0!important}.fv-saba-timeline__dot{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border:1px solid #d5ded2;border-radius:50%;background:#fff;color:var(--fv-matcha);font-size:10px;font-weight:800}.fv-saba-timeline li.is-current .fv-saba-timeline__dot{border-color:var(--fv-green);background:var(--fv-green)}.fv-saba-timeline li.is-current .fv-saba-timeline__dot i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.13)}.fv-saba-timeline__copy{padding:4px 0 0}.fv-saba-timeline__copy strong,.fv-saba-timeline__copy span,.fv-saba-timeline__copy small{display:block}.fv-saba-timeline__copy strong{color:#29443a;font-size:12px}.fv-saba-timeline__copy span{margin-top:2px;color:#707c75;font-size:10px}.fv-saba-timeline__copy small{margin-top:4px;color:#9aa19d;font-size:9px;direction:ltr;text-align:inherit}
@media(max-width:760px){.fv-saba-modal{padding:0;align-items:end}.fv-saba-modal__panel{width:100%;max-height:94dvh;border-radius:24px 24px 0 0}.fv-saba-modal__chrome{padding:17px 18px}.fv-saba-modal__body{max-height:calc(94dvh - 76px);padding:15px}.fv-saba-result{padding:18px 15px;border-radius:19px}.fv-saba-route{grid-template-columns:1fr;gap:12px;padding:15px}.fv-saba-route__line{order:2}.fv-saba-route__point--end{order:3;text-align:start}.fv-saba-current{grid-template-columns:auto 1fr}.fv-saba-current__time{grid-column:2;text-align:start}.fv-saba-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-saba-track{padding:22px 16px;border-radius:18px}.fv-saba-track__form{flex-direction:column}.fv-saba-result__top{align-items:center}.fv-saba-reference{max-width:55%;overflow-wrap:anywhere}}


/* =========================================================
   FARVAHAR SABA TRACKING v0.3 — PREMIUM 3D MODAL
   Purpose: separate tracking visually from the white website,
   while keeping the existing tracking logic untouched.
   ========================================================= */

:root{
  --fvtrk-deep:#082b22;
  --fvtrk-forest:#123e31;
  --fvtrk-matcha:#7f9674;
  --fvtrk-paper:#fbfaf6;
  --fvtrk-soft:#eef2eb;
  --fvtrk-warm:#f5f1e8;
  --fvtrk-line:rgba(18,62,49,.11);
  --fvtrk-gold:#b69a60;
}

/* Stronger cinematic backdrop so the popup clearly becomes a new layer */
.fv-saba-modal__backdrop{
  background:
    radial-gradient(circle at 72% 18%,rgba(127,150,116,.15),transparent 28%),
    rgba(5,23,18,.80)!important;
  backdrop-filter:blur(14px) saturate(92%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(92%)!important;
}

/* Dark premium shell — no more white panel blending into the page */
.fv-saba-modal__panel{
  width:min(980px,100%)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,#123e31,#082b22)!important;
  box-shadow:
    0 2px 0 rgba(255,255,255,.07) inset,
    0 28px 70px rgba(0,0,0,.30),
    0 55px 125px rgba(2,18,14,.34)!important;
  overflow:visible!important;
}

/* Subtle 3D thickness underneath the panel */
.fv-saba-modal__panel:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:22px;
  right:22px;
  bottom:-14px;
  height:28px;
  border-radius:0 0 26px 26px;
  background:linear-gradient(180deg,rgba(127,150,116,.18),rgba(5,24,18,.12));
  filter:blur(2px);
  pointer-events:none;
}

/* Dark green header with a quiet luxury line */
.fv-saba-modal__chrome{
  position:relative;
  min-height:90px;
  padding:23px 28px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  border-radius:29px 29px 0 0;
  background:
    radial-gradient(circle at 15% 0%,rgba(127,150,116,.17),transparent 28%),
    linear-gradient(135deg,#173f32,#0b2d24)!important;
  overflow:hidden;
}
.fv-saba-modal__chrome:after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(127,150,116,.56),rgba(182,154,96,.42),transparent);
}
.fv-saba-modal__eyebrow{
  color:#c8d5c3!important;
  font-size:9px!important;
  letter-spacing:.18em!important;
}
.fv-saba-modal__chrome h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:22px!important;
  font-weight:700!important;
}

/* Close button becomes a real floating control */
.fv-saba-modal__close{
  width:44px!important;
  height:44px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(8px);
}
.fv-saba-modal__close:hover{
  background:rgba(255,255,255,.14)!important;
  transform:translateY(-1px) rotate(3deg)!important;
}

/* Warm-green inner stage gives the result card a distinct surface */
.fv-saba-modal__body{
  position:relative;
  max-height:calc(min(86vh,860px) - 90px)!important;
  padding:28px!important;
  border-radius:0 0 29px 29px;
  background:
    radial-gradient(circle at 92% 4%,rgba(127,150,116,.11),transparent 22%),
    linear-gradient(180deg,#eef2eb 0%,#f6f4ed 52%,#ecefe8 100%)!important;
}
.fv-saba-modal__body:before{
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:20px;
  pointer-events:none;
}

/* Result = cream floating dashboard rather than another white block */
.fv-saba-result{
  position:relative;
  z-index:1;
  padding:28px!important;
  border:1px solid rgba(18,62,49,.10)!important;
  border-radius:24px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),#fbfaf6)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 13px 28px rgba(18,62,49,.07),
    0 30px 64px rgba(18,62,49,.09)!important;
}
.fv-saba-result:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:14px;
  right:14px;
  bottom:-9px;
  height:18px;
  border-radius:0 0 21px 21px;
  background:linear-gradient(180deg,rgba(127,150,116,.14),rgba(18,62,49,.025));
}
.fv-saba-result+.fv-saba-result{margin-top:25px!important}

/* Transport badges */
.fv-saba-badge{
  min-height:32px!important;
  background:linear-gradient(135deg,#173f32,#0b2d24)!important;
  box-shadow:0 7px 16px rgba(18,62,49,.15);
}
.fv-saba-badge--soft{
  border:1px solid rgba(18,62,49,.08);
  background:#e7ede2!important;
  color:#173f32!important;
  box-shadow:none;
}

/* Reference gets a cleaner information-hierarchy */
.fv-saba-reference span{color:#87948d!important}
.fv-saba-reference strong{
  color:#173f32!important;
  font-size:14px!important;
  font-weight:800!important;
}

/* Route panel: dimensional, warm, very clearly separate */
.fv-saba-route{
  position:relative;
  margin:27px 0!important;
  padding:21px 22px!important;
  border:1px solid rgba(18,62,49,.085);
  border-radius:19px!important;
  background:
    linear-gradient(145deg,#f2f5ef,#e8eee4)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 9px 21px rgba(18,62,49,.045);
}
.fv-saba-route__track{
  height:2px!important;
  background:linear-gradient(90deg,#aebca8,#7f9674,#aebca8)!important;
}
.fv-saba-route__vehicle{
  width:32px!important;
  height:32px!important;
  border:1px solid rgba(18,62,49,.08);
  background:#fff!important;
  box-shadow:
    inset 0 1px 0 #fff,
    0 9px 18px rgba(18,62,49,.12)!important;
}

/* Current status = primary dark-green data module */
.fv-saba-current{
  padding:20px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:19px!important;
  background:
    radial-gradient(circle at 94% 10%,rgba(127,150,116,.18),transparent 24%),
    linear-gradient(135deg,#173f32,#0b2d24)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 36px rgba(18,62,49,.16)!important;
}
.fv-saba-current__pulse{
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.fv-saba-current__pulse span{
  background:#dce5d7!important;
  box-shadow:0 0 0 7px rgba(220,229,215,.10)!important;
}
.fv-saba-current__copy>span{
  color:#b8c8c0!important;
}
.fv-saba-current__copy h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:20px!important;
}
.fv-saba-current__copy p{
  color:rgba(255,255,255,.69)!important;
}
.fv-saba-current__time span{
  color:#fff!important;
}
.fv-saba-current__time small{
  color:rgba(255,255,255,.58)!important;
}

/* Facts become tactile mini-cards */
.fv-saba-facts{
  gap:11px!important;
  margin-top:16px!important;
}
.fv-saba-fact{
  min-height:67px;
  padding:13px 15px!important;
  border:1px solid rgba(18,62,49,.08)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff,#f4f6f1)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 6px 14px rgba(18,62,49,.045);
}
.fv-saba-fact strong{
  color:#243f35!important;
  font-weight:750!important;
}

/* Timeline stronger and easier to scan */
.fv-saba-section-title span{
  color:#173f32!important;
  font-size:13px!important;
}
.fv-saba-section-title:after{
  background:linear-gradient(90deg,rgba(127,150,116,.55),rgba(18,62,49,.08))!important;
}
.fv-saba-timeline:before{
  width:2px!important;
  background:linear-gradient(180deg,#7f9674,#d7dfd3)!important;
}
.fv-saba-timeline__dot{
  box-shadow:0 5px 12px rgba(18,62,49,.07);
}
.fv-saba-timeline li.is-current .fv-saba-timeline__dot{
  background:linear-gradient(135deg,#173f32,#0b2d24)!important;
  box-shadow:0 7px 17px rgba(18,62,49,.18);
}

/* Loading/error state stays on the same premium stage */
.fv-saba-state{
  position:relative;
  z-index:1;
  min-height:390px!important;
  margin:0;
  border:1px solid rgba(18,62,49,.08);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#f6f4ed);
  box-shadow:0 18px 48px rgba(18,62,49,.075);
}
.fv-saba-state__icon{
  width:60px!important;
  height:60px!important;
  background:#e6ece1!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 9px 20px rgba(18,62,49,.08);
}
.fv-saba-spinner{
  width:48px!important;
  height:48px!important;
  border-color:#dbe3d8!important;
  border-top-color:#173f32!important;
}

/* Optional standalone tracking widget follows same premium treatment */
.fv-saba-track{
  max-width:1040px!important;
  border:1px solid rgba(18,62,49,.09)!important;
  background:
    radial-gradient(circle at 95% 5%,rgba(127,150,116,.09),transparent 24%),
    linear-gradient(145deg,#fff,#f5f1e8)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 20px 52px rgba(18,62,49,.08)!important;
}
.fv-saba-track__form input{
  box-shadow:inset 0 2px 4px rgba(18,62,49,.035);
}
.fv-saba-track__form button{
  background:linear-gradient(135deg,#173f32,#0b2d24)!important;
  box-shadow:0 9px 20px rgba(18,62,49,.16);
}

/* Desktop micro-depth */
@media(hover:hover) and (pointer:fine){
  .fv-saba-result{
    transition:transform .24s ease,box-shadow .24s ease;
  }
  .fv-saba-result:hover{
    transform:translateY(-3px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 18px 34px rgba(18,62,49,.085),
      0 36px 75px rgba(18,62,49,.105)!important;
  }
  .fv-saba-fact{
    transition:transform .20s ease,box-shadow .20s ease;
  }
  .fv-saba-fact:hover{
    transform:translateY(-2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 10px 22px rgba(18,62,49,.07);
  }
}

/* Mobile remains strong but compact */
@media(max-width:760px){
  .fv-saba-modal__panel{
    border-radius:25px 25px 0 0!important;
    border-bottom:0!important;
  }
  .fv-saba-modal__panel:before{display:none}
  .fv-saba-modal__chrome{
    min-height:76px;
    padding:17px 19px!important;
    border-radius:24px 24px 0 0;
  }
  .fv-saba-modal__body{
    padding:16px!important;
    border-radius:0;
  }
  .fv-saba-modal__body:before{inset:7px;border-radius:16px}
  .fv-saba-result{
    padding:19px 16px!important;
    border-radius:20px!important;
  }
  .fv-saba-result:after{bottom:-6px;height:12px}
  .fv-saba-current{
    padding:17px!important;
  }
  .fv-saba-current__time{
    margin-top:2px;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .fv-saba-result,
  .fv-saba-fact,
  .fv-saba-modal__panel,
  .fv-saba-modal__close{
    transition:none!important;
    transform:none!important;
  }
}
