
:root{
  --jvvs-brand:#0C4476;
  --jvvs-brand-rgb:12,68,118;
  --jvvs-brand-2:#2c7be5;
  --jvvs-brand-3:#7cc7ff;
  --jvvs-ink:#08162e;
  --jvvs-ink-soft:#5b6b83;
  --jvvs-mist:#f4f8fd;
  --jvvs-soft:#e9f2ff;
  --jvvs-soft-2:#f7fbff;
  --jvvs-line:rgba(8,22,46,.10);
  --jvvs-line-strong:rgba(8,22,46,.16);
  --jvvs-shadow:0 30px 90px rgba(8,22,46,.14);
  --jvvs-shadow-soft:0 18px 40px rgba(8,22,46,.10);
  --jvvs-shadow-glow:0 0 0 1px rgba(255,255,255,.24) inset, 0 24px 60px rgba(12,68,118,.16);
  --jvvs-radius:28px;
}
.jvvs-front-shell,
.jvvs-front-shell *{box-sizing:border-box}
.jvvs-front-shell{
  max-width:1380px;
  margin:28px auto;
  padding:22px;
  font-family:Inter,Arial,sans-serif;
  color:var(--jvvs-ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--jvvs-brand-rgb),.10), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(124,199,255,.16), transparent 26%),
    linear-gradient(180deg,#edf4fb 0%, #f8fbff 100%);
  border-radius:36px;
  box-shadow:var(--jvvs-shadow);
  border:1px solid rgba(255,255,255,.65);
  position:relative;
  overflow:hidden;
}
.jvvs-front-shell:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 0% 100%, rgba(124,199,255,.16), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0));
}
.jvvs-front-shell > *{position:relative;z-index:1}
.jvvs-surface{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--jvvs-shadow-glow);
  backdrop-filter:blur(18px);
}
.jvvs-surface-soft{
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-ui-grid{display:grid;gap:16px}
.jvvs-verify{max-width:1280px}
.jvvs-box{
  border-radius:32px;
  padding:32px;
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-box h1,.jvvs-box h2,.jvvs-box h3,
.jvvs-oth h1,.jvvs-oth h2,.jvvs-oth h3{letter-spacing:-.03em}
.jvvs-box h1{
  margin:0 0 12px;
  font-size:clamp(32px,3vw,48px);
  line-height:1.02;
  color:var(--jvvs-brand);
}
.jvvs-box p{color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-label{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:8px;
}
.jvvs-value{font-size:17px;font-weight:800}
.jvvs-auth{
  display:inline-flex;
  align-items:center;
  padding:12px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f5f9ff);
  border:1px dashed rgba(var(--jvvs-brand-rgb),.35);
  color:var(--jvvs-brand);
  box-shadow:0 14px 28px rgba(8,22,46,.06);
}
.jvvs-grid2,.jvvs-grid3,.jvvs-mobile-quicktiles,.jvvs-oth-cards,.jvvs-oth-gallery,.jvvs-oth-foot,.jvvs-journey,.jvvs-journey-map{
  gap:16px;
}
.jvvs-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.jvvs-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.jvvs-box input,.jvvs-box button,.jvvs-box select,.jvvs-box textarea,
.jvvs-staff-login .login-username input,.jvvs-staff-login .login-password input{
  min-height:48px;
  width:100%;
  border-radius:18px;
  border:1px solid var(--jvvs-line);
  padding:0 16px;
  outline:none;
  box-shadow:none;
  background:#fff;
}
.jvvs-box textarea{padding:14px 16px;min-height:110px}
.jvvs-box input:focus,.jvvs-box select:focus,.jvvs-box textarea:focus{
  border-color:rgba(var(--jvvs-brand-rgb),.35);
  box-shadow:0 0 0 4px rgba(var(--jvvs-brand-rgb),.08);
}
.jvvs-box button,.jvvs-print-btn,.jvvs-oth-btn,.jvvs-box .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 18px;
  min-height:48px;
  border:0;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
}
.jvvs-box button,.jvvs-print-btn,.jvvs-box .button-primary,.jvvs-oth-btn--light{
  background:linear-gradient(135deg,var(--jvvs-brand),#1f6fb5);
  color:#fff !important;
  box-shadow:0 18px 36px rgba(var(--jvvs-brand-rgb),.22);
}
.jvvs-box .button,.jvvs-oth-btn--ghost{
  background:rgba(255,255,255,.12);
  color:inherit;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
}
.jvvs-pill,.jvvs-oth-badge,.jvvs-booking-badge{
  display:inline-flex;
  align-items:center;
  padding:9px 13px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  margin:0 8px 8px 0;
}
.jvvs-pill,.jvvs-oth-badge{
  background:#eef5fb;
  border:1px solid rgba(var(--jvvs-brand-rgb),.10);
  color:var(--jvvs-brand);
}
.jvvs-ok{color:#0c8c47;font-weight:800}
.jvvs-bad{color:#b42318;font-weight:800}
.jvvs-login{
  background:
    radial-gradient(circle at 0% 0%, rgba(124,199,255,.16), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(135deg,#08162e 0%, var(--jvvs-brand) 58%, #2b80c5 100%);
  color:#fff;
}
.jvvs-login .jvvs-box{
  max-width:620px;
  margin-inline:auto;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}
.jvvs-login .jvvs-box h1{color:#fff}
.jvvs-login .jvvs-box p,.jvvs-login .jvvs-label{color:#dce9f7}
.jvvs-login .jvvs-box input,.jvvs-login .jvvs-box select,
.jvvs-login .jvvs-staff-login .login-username input,.jvvs-login .jvvs-staff-login .login-password input{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.jvvs-login .jvvs-staff-login p{margin:0 0 14px}
.jvvs-login .jvvs-staff-login label{display:block;margin:0 0 8px;color:#e7f1fb;font-weight:700}
.jvvs-login .jvvs-staff-login .login-submit input{
  background:#fff !important;
  color:var(--jvvs-brand) !important;
  font-weight:900;
  border:none;
}
.jvvs-oth,.jvvs-booking-sheet{
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(180deg,#edf4fb,#f9fbff);
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow);
}
.jvvs-front-app{
  position:relative;
}
.jvvs-oth-hero,.jvvs-booking-top{
  position:relative;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:26px;
  padding:34px;
  background:
    radial-gradient(circle at 12% 18%, rgba(124,199,255,.28), transparent 26%),
    radial-gradient(circle at 88% 15%, rgba(255,255,255,.18), transparent 24%),
    radial-gradient(circle at 80% 88%, rgba(44,123,229,.22), transparent 24%),
    linear-gradient(135deg,var(--jvvs-brand) 0%, #08162e 58%, #143d78 100%);
  color:#fff;
}
.jvvs-oth-hero:before,.jvvs-booking-top:before{
  content:"";
  position:absolute;
  inset:auto auto -80px -60px;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(124,199,255,.24), rgba(124,199,255,0) 68%);
}
.jvvs-oth-hero h1,.jvvs-booking-top h1{
  margin:12px 0 10px;
  font-size:clamp(34px,4vw,52px);
  line-height:1.02;
  color:#fff;
}
.jvvs-oth-hero p{margin:0;color:rgba(255,255,255,.92);line-height:1.85}
.jvvs-oth-actions,.jvvs-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.jvvs-oth-metrics,.jvvs-booking-cards,.jvvs-mobile-quicktiles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.jvvs-oth-stat,.jvvs-mobile-tile,.jvvs-booking-card{
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(8,22,46,.14);
}
.jvvs-mobile-tile{background:#fff;border-color:var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)}
.jvvs-mobile-tile strong,.jvvs-oth-stat strong,.jvvs-booking-card .value{
  display:block;
  font-size:20px;
  line-height:1.2;
  margin-bottom:4px;
}
.jvvs-mobile-tile span,.jvvs-oth-stat span{color:#5f6d80;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.jvvs-oth-body{padding:30px}
.jvvs-oth-section{margin-bottom:24px}
.jvvs-oth-section h2,.jvvs-booking-sec h2{
  margin:0 0 14px;
  color:var(--jvvs-brand);
  font-size:26px;
  line-height:1.1;
}
.jvvs-mobile-topbar{
  position:sticky;
  top:14px;
  z-index:30;
  margin:0 30px;
  display:flex;
  gap:12px;
  overflow:auto;
  padding:12px;
  border-radius:22px;
  transform:translateY(-18px);
}
.jvvs-mobile-topbar a{
  white-space:nowrap;
  text-decoration:none;
  color:var(--jvvs-brand);
  font-weight:800;
  padding:10px 14px;
  border-radius:999px;
  background:#eef5fb;
  border:1px solid rgba(var(--jvvs-brand-rgb),.10);
}
.jvvs-mobile-notice{
  margin:0 30px 18px;
  padding:18px 20px;
  border-radius:24px;
  color:var(--jvvs-ink-soft);
}
.jvvs-oth-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.jvvs-oth-card,.jvvs-detail-card,.jvvs-oth-note{
  background:#fff;
  border:1px solid var(--jvvs-line);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-oth-card h3,.jvvs-detail-card h3{margin:0 0 8px;font-size:18px}
.jvvs-oth-card p,.jvvs-detail-card p,.jvvs-oth-note p{margin:0;color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-oth-split,.jvvs-booking-grid,.jvvs-journey,.jvvs-journey-map,.jvvs-oth-foot{
  display:grid;
  grid-template-columns:1.12fr .88fr;
}
.jvvs-oth-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.jvvs-oth-gallery img{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:24px;
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-oth-list{margin:0;padding-left:18px;color:var(--jvvs-ink-soft);line-height:1.9}
.jvvs-world,.jvvs-mapstage{
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 48px rgba(8,22,46,.18);
}
.jvvs-world{min-height:440px}
.jvvs-daypanel{display:grid;gap:12px}
.jvvs-daytab{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--jvvs-line);
  background:#fff;
  box-shadow:var(--jvvs-shadow-soft);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.jvvs-daytab:hover{transform:translateY(-2px)}
.jvvs-daytab.active{
  border-color:rgba(var(--jvvs-brand-rgb),.24);
  box-shadow:0 20px 38px rgba(8,22,46,.10);
}
.jvvs-daynum{
  flex:0 0 58px;
  height:58px;
  border-radius:18px;
  background:linear-gradient(180deg,var(--jvvs-brand),#1b6cb3);
  color:#fff;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 22px rgba(var(--jvvs-brand-rgb),.24);
}
.jvvs-daycopy h3{margin:0 0 6px;font-size:18px;color:var(--jvvs-ink)}
.jvvs-daycopy p{margin:0;color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-mini{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#667085}
.jvvs-booking-sheet{background:#fff}
.jvvs-booking-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:24px 30px;
  background:linear-gradient(180deg,#fff,#f7fbff);
}
.jvvs-booking-card{
  background:#fff;
  border-color:var(--jvvs-line);
  backdrop-filter:none;
}
.jvvs-booking-card .label{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#667085;
  margin-bottom:6px;
}
.jvvs-booking-sec{padding:0 30px 24px}
.jvvs-booking-note{
  border:1px solid var(--jvvs-line);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-booking-foot{
  padding:24px 30px 30px;
  border-top:1px solid var(--jvvs-line);
  background:#fbfdff;
}
.jvvs-print-sheet{
  max-width:1180px;
  margin:0 auto;
  padding:18px;
  background:#eef4fb;
  border-radius:36px;
}
.jvvs-print-bar{
  position:sticky;
  top:0;
  text-align:right;
  padding:8px 0 16px;
  z-index:10;
}
.jvvs-booking-code{
  display:inline-flex;
  align-items:center;
  padding:12px 16px;
  border-radius:16px;
  background:#fff;
  color:var(--jvvs-brand);
  font-weight:900;
  box-shadow:0 14px 28px rgba(8,22,46,.18);
}
.jvvs-verify .jvvs-grid2 > div,
.jvvs-verify .jvvs-grid3 > div,
.jvvs-box .jvvs-grid2 > div,
.jvvs-box .jvvs-grid3 > div{
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
}
@media print{
  .jvvs-front-shell{margin:0;box-shadow:none;border:0;background:#fff;padding:0}
  .jvvs-print-sheet{padding:0;background:#fff;border-radius:0}
  .jvvs-print-bar{display:none}
  .jvvs-booking-sheet,.jvvs-oth,.jvvs-box{box-shadow:none;border-radius:0}
  .jvvs-booking-top,.jvvs-booking-cards,.jvvs-booking-grid,.jvvs-booking-foot,.jvvs-journey,.jvvs-journey-map,.jvvs-oth-hero,.jvvs-oth-split,.jvvs-oth-foot{
    grid-template-columns:1fr !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}
@media (max-width:1100px){
  .jvvs-grid3,.jvvs-oth-cards,.jvvs-oth-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jvvs-oth-hero,.jvvs-booking-top,.jvvs-oth-split,.jvvs-booking-grid,.jvvs-journey,.jvvs-journey-map,.jvvs-oth-foot{grid-template-columns:1fr}
  .jvvs-app-shell{grid-template-columns:1fr}
  .jvvs-side-nav{display:none}
  .jvvs-bottom-nav{display:grid}
}
@media (max-width:780px){
  .jvvs-front-shell{padding:14px;border-radius:24px}
  .jvvs-box,.jvvs-oth-body,.jvvs-booking-sec,.jvvs-booking-foot{padding:18px}
  .jvvs-grid2,.jvvs-grid3,.jvvs-oth-cards,.jvvs-oth-gallery,.jvvs-booking-cards,.jvvs-mobile-quicktiles,.jvvs-oth-metrics{grid-template-columns:1fr}
  .jvvs-mobile-topbar{margin:0 18px;top:8px}
  .jvvs-mobile-notice{margin:0 18px 18px}
  .jvvs-status-ribbon{margin:0 18px 18px}
  .jvvs-oth-hero,.jvvs-booking-top{padding:22px}
  .jvvs-oth-hero h1,.jvvs-booking-top h1,.jvvs-box h1{font-size:30px}
  .jvvs-float-support{right:14px;bottom:88px;padding:13px 16px;min-width:116px}
  .jvvs-bottom-nav{position:fixed;left:12px;right:12px;bottom:10px;margin:0}
}


/* v6.5 traveller app enhancements */
.jvvs-status-ribbon{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 30px 18px;
  transform:translateY(-14px);
}
.jvvs-status-ribbon__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(var(--jvvs-brand-rgb),.10);
  box-shadow:var(--jvvs-shadow-soft);
  color:var(--jvvs-ink);
  font-size:13px;
}
.jvvs-status-ribbon__item strong{color:var(--jvvs-brand)}
.jvvs-app-shell{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:20px;
  align-items:start;
}
.jvvs-app-content{min-width:0}
.jvvs-side-nav{
  position:sticky;
  top:24px;
  padding:12px;
  border-radius:28px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.jvvs-side-nav a,
.jvvs-bottom-nav a{
  text-decoration:none;
  color:var(--jvvs-ink-soft);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:68px;
  border-radius:22px;
  border:1px solid transparent;
  background:linear-gradient(180deg,#fff,#f7fbff);
  font-weight:800;
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-side-nav a span,.jvvs-bottom-nav a span{font-size:18px;line-height:1}
.jvvs-side-nav a small,.jvvs-bottom-nav a small{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.jvvs-side-nav a.active,.jvvs-bottom-nav a.active,.jvvs-mobile-topbar a.active{
  color:var(--jvvs-brand);
  border-color:rgba(var(--jvvs-brand-rgb),.18);
  background:linear-gradient(180deg,#fff,#edf5ff);
  box-shadow:0 16px 30px rgba(var(--jvvs-brand-rgb),.16);
}
.jvvs-float-support{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:60;
  min-width:128px;
  text-align:center;
  text-decoration:none;
  padding:14px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--jvvs-brand),#1f6fb5);
  color:#fff;
  font-weight:900;
  box-shadow:0 22px 40px rgba(var(--jvvs-brand-rgb),.30);
}
.jvvs-float-support:before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:999px;
  border:1px solid rgba(var(--jvvs-brand-rgb),.16);
}
.jvvs-bottom-nav{
  position:sticky;
  bottom:10px;
  z-index:55;
  display:none;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:18px 0 6px;
  padding:12px;
  border-radius:26px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:var(--jvvs-shadow);
  backdrop-filter:blur(14px);
}
.jvvs-bottom-nav a{min-height:60px;padding:8px}
.jvvs-bottom-nav a small{font-size:10px}


.jvvs-client-portal-home{padding:34px}
.jvvs-portal-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding:28px;border-radius:32px;background:
radial-gradient(circle at 10% 10%, rgba(var(--jvvs-brand-rgb),.16), transparent 22%),
linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)}
.jvvs-portal-copy h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;margin:10px 0 12px}
.jvvs-portal-copy p{font-size:1rem;color:var(--jvvs-ink-soft);max-width:760px}
.jvvs-portal-list{margin:18px 0 0;padding-left:18px;color:var(--jvvs-ink)}
.jvvs-portal-form{padding:22px;border-radius:28px}
.jvvs-portal-form input,.jvvs-portal-form button{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--jvvs-line-strong);font:inherit}
.jvvs-portal-form input{background:#fff}
.jvvs-portal-form button{background:var(--jvvs-brand);color:#fff;border-color:var(--jvvs-brand);cursor:pointer}
.jvvs-portal-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px;border-radius:26px;margin:16px 0}
.jvvs-portal-welcome h2{margin:8px 0 10px;font-size:1.8rem}
.jvvs-portal-welcome p{margin:0;color:var(--jvvs-ink-soft)}
.jvvs-portal-pillset{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.jvvs-portal-pill{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(var(--jvvs-brand-rgb),.08);border:1px solid rgba(var(--jvvs-brand-rgb),.14);font-size:.9rem}
.jvvs-docs-hub{padding:22px;border-radius:26px;margin:0 0 16px}
.jvvs-docs-head h3{margin:8px 0 0}
.jvvs-docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.jvvs-doc-card{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft);color:var(--jvvs-ink);text-decoration:none;min-height:112px}
.jvvs-doc-card span{font-size:.84rem;color:var(--jvvs-ink-soft);word-break:break-word}
@media (max-width: 980px){
  .jvvs-portal-hero,.jvvs-portal-welcome{grid-template-columns:1fr;display:grid}
  .jvvs-docs-grid{grid-template-columns:1fr}
  .jvvs-portal-pillset{justify-content:flex-start}
}


/* v6.7 White-label portal */
.jvvs-client-login-form{display:grid;gap:12px}
.jvvs-white-label-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px;flex-wrap:wrap}
.jvvs-white-label-brand{display:flex;flex-direction:column;gap:2px}
.jvvs-white-label-brand strong{font-size:15px;color:var(--jvvs-ink)}
.jvvs-white-label-brand small{font-size:12px;color:var(--jvvs-ink-soft)}
.jvvs-white-label-dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--jvvs-brand),var(--jvvs-brand-3));display:inline-block;box-shadow:0 0 0 6px rgba(var(--jvvs-brand-rgb),.10);margin-bottom:4px}
.jvvs-portal-muted{margin:0 0 10px;color:var(--jvvs-ink-soft);font-size:14px;line-height:1.7}
.jvvs-pdf-card{background:linear-gradient(180deg, rgba(var(--jvvs-brand-rgb),.08), #fff);border-color:rgba(var(--jvvs-brand-rgb),.18)}
.jvvs-pdf-card strong:before{content:"📘 ";}

.jvvs-supplier-timeline{display:grid;gap:14px}
.jvvs-supplier-step{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
.jvvs-supplier-step__dot{height:48px;width:48px;border-radius:18px;background:linear-gradient(135deg,var(--jvvs-brand),var(--jvvs-brand-3));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 18px 40px rgba(var(--jvvs-brand-rgb),.22)}
.jvvs-supplier-step__body{position:relative;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)}
.jvvs-supplier-step__body strong{display:block;font-size:15px;color:var(--jvvs-ink)}
.jvvs-supplier-step__body span{display:inline-flex;margin-top:6px;padding:6px 10px;border-radius:999px;background:rgba(var(--jvvs-brand-rgb),.08);color:var(--jvvs-brand);font-size:12px;font-weight:700}
.jvvs-supplier-step__body p{margin:10px 0 0;color:var(--jvvs-ink-soft);line-height:1.7}
@media (max-width: 767px){
  .jvvs-supplier-step{grid-template-columns:40px 1fr}
  .jvvs-supplier-step__dot{height:40px;width:40px;border-radius:14px}
}


/* v6.8 additions */
.jvvs-live-feed{margin:18px 0;padding:18px;border-radius:26px}.jvvs-live-feed-list{display:grid;gap:12px}.jvvs-live-feed-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border:1px solid rgba(8,22,46,.08);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}.jvvs-live-feed-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--jvvs-brand,#0C4476),#7cc7ff);margin-top:6px;box-shadow:0 0 0 6px rgba(12,68,118,.08)}.jvvs-live-feed-item p{margin:6px 0 0}.jvvs-client-portal-home .jvvs-portal-form{position:relative;overflow:hidden}.jvvs-client-portal-home .jvvs-portal-form:before{content:"";position:absolute;inset:auto -80px -120px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(124,199,255,.25),transparent 65%)}.jvvs-client-login-form input{min-height:50px}.jvvs-pdf-card strong:before{content:"📄 ";}



/* v7 published frontend redesign */
.jvvs-pub-page{padding:8px}
.jvvs-pub-hero{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  padding:18px 0 10px;
}
.jvvs-pub-copy,
.jvvs-pub-panel,
.jvvs-pub-card,
.jvvs-pub-state{
  border-radius:30px;
  border:1px solid rgba(255,255,255,.55);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,250,255,.9));
  box-shadow:var(--jvvs-shadow-glow);
}
.jvvs-pub-copy{
  padding:34px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 15%, rgba(var(--jvvs-brand-rgb),.12), transparent 22%),
    radial-gradient(circle at 90% 0%, rgba(124,199,255,.22), transparent 20%),
    linear-gradient(135deg,#ffffff 0%, #f4f8fd 100%);
}
.jvvs-pub-copy:before{
  content:"";
  position:absolute;
  inset:auto -40px -50px auto;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(var(--jvvs-brand-rgb),.18), transparent 65%);
  pointer-events:none;
}
.jvvs-pub-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(var(--jvvs-brand-rgb),.08);
  color:var(--jvvs-brand);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.jvvs-pub-copy h1{font-size:clamp(34px,4vw,56px);line-height:1.02;margin:16px 0 14px;letter-spacing:-.04em}
.jvvs-pub-copy p{font-size:15px;line-height:1.75;color:var(--jvvs-ink-soft);max-width:760px}
.jvvs-pub-badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.jvvs-pub-badges span{
  border-radius:999px;padding:10px 14px;
  background:#fff;border:1px solid var(--jvvs-line);
  box-shadow:0 12px 28px rgba(8,22,46,.06);
  font-weight:600;font-size:13px;color:var(--jvvs-ink);
}
.jvvs-pub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.jvvs-pub-stat{
  border-radius:22px;padding:16px;background:rgba(255,255,255,.86);border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-pub-stat strong{display:block;font-size:18px}
.jvvs-pub-stat span{display:block;margin-top:6px;color:var(--jvvs-ink-soft);font-size:12px}
.jvvs-pub-panel{padding:28px;display:flex;flex-direction:column;gap:16px}
.jvvs-pub-panel__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.jvvs-pub-chip{
  padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,var(--jvvs-brand),#143d78);color:#fff;font-size:12px;font-weight:700
}
.jvvs-pub-form p{margin:0 0 14px}
.jvvs-pub-form label{display:block;color:var(--jvvs-ink);font-weight:700;font-size:13px}
.jvvs-pub-form input{
  width:100%;margin-top:8px;min-height:54px;border-radius:18px;border:1px solid var(--jvvs-line);
  padding:0 16px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)
}
.jvvs-pub-form button,
.jvvs-pub-cta,
.jvvs-pub-login-wrap .button,
.jvvs-pub-login-wrap #wp-submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:0 18px;border:none;border-radius:18px;
  background:linear-gradient(135deg,var(--jvvs-brand),#143d78);color:#fff !important;
  font-weight:700;text-decoration:none;box-shadow:0 18px 38px rgba(12,68,118,.22);cursor:pointer
}
.jvvs-pub-mini{display:grid;gap:10px}
.jvvs-pub-mini > div,
.jvvs-pub-verdict,
.jvvs-pub-authbox{
  border-radius:20px;border:1px solid var(--jvvs-line);background:rgba(248,251,255,.9);padding:14px 16px
}
.jvvs-pub-mini strong,.jvvs-pub-authbox span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--jvvs-ink-soft)}
.jvvs-pub-mini span,.jvvs-pub-authbox strong{display:block;margin-top:6px;color:var(--jvvs-ink)}
.jvvs-pub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.jvvs-pub-grid-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.jvvs-pub-card,.jvvs-pub-state{padding:22px}
.jvvs-pub-card h3{margin:0 0 8px;font-size:18px}
.jvvs-pub-card p{margin:0;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-pub-verdict{font-weight:800;text-align:center}
.jvvs-pub-authbox .jvvs-auth{font-size:22px}
.jvvs-pub-muted{color:var(--jvvs-ink-soft);margin:0}
.jvvs-pub-login-wrap form{display:grid;gap:14px}
.jvvs-pub-login-wrap label{font-weight:700;color:var(--jvvs-ink)}
.jvvs-pub-login-wrap input{width:100%;margin-top:8px;min-height:54px;padding:0 16px;border-radius:18px;border:1px solid var(--jvvs-line)}
.jvvs-pub-login-wrap .login-remember{display:flex;align-items:center;gap:10px}
.jvvs-pub-login-wrap .login-submit{margin:0}
.jvvs-pub-page--trip .jvvs-pub-panel,
.jvvs-pub-page--login .jvvs-pub-panel{align-self:start}
@media (max-width: 980px){
  .jvvs-pub-hero{grid-template-columns:1fr}
  .jvvs-pub-grid,.jvvs-pub-grid-mini,.jvvs-pub-stats{grid-template-columns:1fr}
}


/* v7.1.0 published trip support refresh */
.jvvs-front-app--published .jvvs-oth-hero--advanced{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  padding:30px;
  border-radius:32px;
  background:
    radial-gradient(circle at 12% 14%, rgba(var(--jvvs-brand-rgb),.15), transparent 22%),
    radial-gradient(circle at 88% 0%, rgba(124,199,255,.24), transparent 20%),
    linear-gradient(135deg,#ffffff 0%, #eef6ff 56%, #f8fbff 100%);
  border:1px solid rgba(255,255,255,.66);
  box-shadow:var(--jvvs-shadow-glow);
}
.jvvs-oth-hero__copy h1{margin:16px 0 12px;font-size:clamp(34px,4vw,58px);line-height:1.01}
.jvvs-oth-hero__copy p{max-width:760px}
.jvvs-oth-badges{display:flex;flex-wrap:wrap;gap:10px}
.jvvs-oth-metrics--advanced{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-self:start;
}
.jvvs-oth-summary-note{
  margin-top:18px;padding:18px 20px;border-radius:22px;
  background:rgba(255,255,255,.78);border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-progress-stagebar{
  padding:24px 26px;border-radius:30px;border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,248,253,.95));
  box-shadow:var(--jvvs-shadow-glow)
}
.jvvs-progress-stagebar__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px
}
.jvvs-progress-stagebar__head h2{margin:8px 0 0;font-size:28px}
.jvvs-progress-stagebar__meta{display:flex;align-items:center;gap:12px;color:var(--jvvs-ink-soft);font-weight:700}
.jvvs-progress-percentage{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:72px;height:42px;border-radius:999px;color:#fff;font-weight:900;
  background:linear-gradient(135deg,var(--jvvs-brand),#1b6cb3);box-shadow:0 18px 36px rgba(var(--jvvs-brand-rgb),.20)
}
.jvvs-progress-track{
  position:relative;height:14px;border-radius:999px;background:#dfeaf7;overflow:hidden
}
.jvvs-progress-track__fill{
  position:absolute;inset:0 auto 0 0;border-radius:999px;
  background:linear-gradient(90deg,var(--jvvs-brand),#2c7be5,#7cc7ff);
  box-shadow:0 0 28px rgba(var(--jvvs-brand-rgb),.35);
  animation:jvvsPulseFill 2.4s ease-in-out infinite
}
@keyframes jvvsPulseFill{
  0%,100%{filter:saturate(1)}
  50%{filter:saturate(1.2)}
}
.jvvs-progress-stages{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px
}
.jvvs-progress-stage{
  display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:18px;
  border:1px solid var(--jvvs-line);background:#fff;color:var(--jvvs-ink-soft);font-size:12px;font-weight:700
}
.jvvs-progress-stage.is-active{border-color:rgba(var(--jvvs-brand-rgb),.24);color:var(--jvvs-ink);box-shadow:0 14px 30px rgba(8,22,46,.06)}
.jvvs-progress-stage__dot{
  width:14px;height:14px;border-radius:50%;background:#cddcee;box-shadow:0 0 0 5px rgba(var(--jvvs-brand-rgb),.06)
}
.jvvs-progress-stage.is-active .jvvs-progress-stage__dot{background:var(--jvvs-brand);box-shadow:0 0 0 5px rgba(var(--jvvs-brand-rgb),.12)}
.jvvs-journey-map--advanced{grid-template-columns:1.08fr .92fr;align-items:start}
.jvvs-mapstage{padding:22px;background:linear-gradient(180deg,#ffffff,#f7fbff)}
.jvvs-map-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--jvvs-ink-soft)}
.jvvs-map-legend span{display:inline-flex;align-items:center;gap:8px}
.jvvs-map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--jvvs-brand);box-shadow:0 0 0 4px rgba(var(--jvvs-brand-rgb),.12)}
.jvvs-map-legend i.soft{background:#a4c8f4}
.jvvs-world{
  position:relative;overflow:hidden;border-radius:28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--jvvs-brand-rgb),.10), transparent 24%),
    radial-gradient(circle at 100% 10%, rgba(124,199,255,.16), transparent 26%),
    linear-gradient(180deg,#eef4fb 0%, #ddebf9 100%);
  border:1px solid var(--jvvs-line);min-height:440px
}
.jvvs-world.has-image{background-size:cover;background-position:center}
.jvvs-world-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,22,46,.03)),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), transparent 48%)
}
.jvvs-world-plane{
  position:absolute;width:28px;height:28px;border-radius:50%;
  left:20%;top:50%;z-index:4;transform:translate(-50%,-50%);
  background:linear-gradient(135deg,var(--jvvs-brand),#2c7be5);
  box-shadow:0 18px 32px rgba(var(--jvvs-brand-rgb),.22);
  transition:left .7s ease, top .7s ease;
}
.jvvs-world-plane:before{
  content:"✈";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:13px
}
.jvvs-map-pin{
  position:absolute;transform:translate(-50%,-50%);z-index:3;cursor:pointer;border:0;
  background:transparent;padding:0
}
.jvvs-map-pin:before{
  content:"";display:block;width:20px;height:20px;border-radius:50%;
  background:#a4c8f4;box-shadow:0 0 0 8px rgba(var(--jvvs-brand-rgb),.08);transition:.25s ease
}
.jvvs-map-pin span{
  position:absolute;left:50%;top:26px;transform:translateX(-50%);
  white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);font-size:12px;font-weight:800;color:var(--jvvs-ink)
}
.jvvs-map-pin.is-active:before{background:var(--jvvs-brand);box-shadow:0 0 0 10px rgba(var(--jvvs-brand-rgb),.14)}
.jvvs-world-card{
  position:absolute;left:20px;bottom:20px;z-index:4;max-width:320px;
  padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.7);box-shadow:var(--jvvs-shadow-glow)
}
.jvvs-world-city{display:block;font-size:24px;margin-top:6px}
.jvvs-world-detail{margin:8px 0 0;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-daytab{
  text-align:left;cursor:pointer;position:relative;overflow:hidden
}
.jvvs-daytab.active{
  background:
    radial-gradient(circle at 88% 10%, rgba(124,199,255,.18), transparent 24%),
    linear-gradient(180deg,#ffffff,#f4f8fd)
}
.jvvs-note-card{
  margin-top:16px;padding:18px 20px;border-radius:22px;border:1px solid var(--jvvs-line);
  background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-doc-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jvvs-doc-link{
  display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:22px;text-decoration:none;
  background:#fff;border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft);color:var(--jvvs-ink)
}
.jvvs-doc-link strong{font-size:15px}
.jvvs-doc-link span{color:var(--jvvs-ink-soft);word-break:break-word;font-size:12px;line-height:1.6}
.jvvs-supplier-timeline{display:grid;gap:14px}
.jvvs-supplier-step{
  position:relative;padding:18px 18px 18px 22px;border-radius:22px;background:#fff;border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-supplier-step:before{
  content:"";position:absolute;left:12px;top:18px;bottom:18px;width:4px;border-radius:999px;
  background:linear-gradient(180deg,var(--jvvs-brand),#7cc7ff)
}
.jvvs-supplier-step strong,.jvvs-supplier-step span,.jvvs-supplier-step small{display:block}
.jvvs-supplier-step span{margin-top:6px;color:var(--jvvs-ink-soft)}
.jvvs-supplier-step small{margin-top:8px;color:var(--jvvs-brand);font-weight:700}
.jvvs-supplier-step p{margin:10px 0 0;color:var(--jvvs-ink-soft)}
.jvvs-block-copy{color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-rich-list{margin:0;padding-left:20px;color:var(--jvvs-ink-soft);line-height:1.9}
.jvvs-support-footer{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px
}
.jvvs-support-footer__copy h3{margin:8px 0 10px}
.jvvs-support-footer__copy p{margin:0;color:var(--jvvs-ink-soft)}
.jvvs-support-footer__actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1100px){
  .jvvs-front-app--published .jvvs-oth-hero--advanced,
  .jvvs-journey-map--advanced{grid-template-columns:1fr}
  .jvvs-progress-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jvvs-doc-links{grid-template-columns:1fr}
}
@media (max-width:767px){
  .jvvs-progress-stagebar__head,.jvvs-support-footer{display:block}
  .jvvs-support-footer__actions{margin-top:14px}
  .jvvs-progress-stages{grid-template-columns:1fr}
  .jvvs-world{min-height:360px}
  .jvvs-oth-metrics--advanced{grid-template-columns:1fr}
}


/* v7.2.0 frontend rebuild */
.jvvs-front-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 18px;margin-bottom:18px;border-radius:22px;
  background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.75);
  box-shadow:var(--jvvs-shadow-soft);backdrop-filter:blur(14px)
}
.jvvs-front-topbar__brand{display:flex;align-items:center;gap:10px;font-size:14px}
.jvvs-front-topbar__dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--jvvs-brand),var(--jvvs-brand-3));box-shadow:0 0 0 5px rgba(var(--jvvs-brand-rgb),.08)}
.jvvs-front-topbar__meta{display:flex;flex-wrap:wrap;gap:10px}
.jvvs-front-topbar__meta span,
.jvvs-pub-chip,
.jvvs-pub-badges span{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 14px;border-radius:999px;
  background:rgba(var(--jvvs-brand-rgb),.08);border:1px solid rgba(var(--jvvs-brand-rgb),.14);
  color:var(--jvvs-brand);font-weight:700;font-size:12px
}
.jvvs-pub-hero--detailed{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:24px;align-items:stretch
}
.jvvs-pub-page .jvvs-pub-copy,
.jvvs-pub-page .jvvs-pub-panel{
  border-radius:32px;padding:30px;position:relative;overflow:hidden
}
.jvvs-pub-page .jvvs-pub-copy{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,251,255,.92));
  border:1px solid rgba(255,255,255,.75);box-shadow:var(--jvvs-shadow-glow)
}
.jvvs-pub-page .jvvs-pub-copy:before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  background:radial-gradient(circle,rgba(var(--jvvs-brand-rgb),.12),transparent 65%);
}
.jvvs-pub-panel--glass{
  background:linear-gradient(180deg,rgba(8,22,46,.94),rgba(12,68,118,.92));
  color:#fff;border:1px solid rgba(255,255,255,.10);
  box-shadow:0 28px 60px rgba(8,22,46,.22)
}
.jvvs-pub-panel--glass strong,
.jvvs-pub-panel--glass label,
.jvvs-pub-panel--glass .jvvs-pub-muted{color:#fff}
.jvvs-pub-panel--glass input{
  background:rgba(255,255,255,.96)!important;border-color:rgba(255,255,255,.15)!important
}
.jvvs-pub-panel--glass button{width:100%}
.jvvs-pub-kicker{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(var(--jvvs-brand-rgb),.08);border:1px solid rgba(var(--jvvs-brand-rgb),.14);color:var(--jvvs-brand);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.jvvs-pub-page h1{margin:16px 0 14px;font-size:clamp(34px,4vw,60px);line-height:1.02;color:var(--jvvs-ink)}
.jvvs-pub-page p{font-size:15px;line-height:1.8;color:var(--jvvs-ink-soft)}
.jvvs-pub-badges,.jvvs-pub-stats,.jvvs-pub-grid-mini,.jvvs-pub-mini,.jvvs-pub-featurelist{display:grid;gap:14px}
.jvvs-pub-badges{display:flex;flex-wrap:wrap}
.jvvs-pub-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}
.jvvs-pub-stat,.jvvs-pub-feature,.jvvs-pub-card{
  border-radius:24px;padding:18px 18px 20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-pub-stat strong,.jvvs-pub-feature strong{display:block;font-size:14px;color:var(--jvvs-brand);margin-bottom:6px}
.jvvs-pub-stat span,.jvvs-pub-feature span{font-size:13px;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-pub-featurelist{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.jvvs-pub-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.jvvs-pub-card h3{margin:0 0 10px;font-size:18px;color:var(--jvvs-ink)}
.jvvs-pub-form p{margin:0 0 14px}
.jvvs-pub-form label{display:block;font-size:13px;font-weight:700;line-height:1.8}
.jvvs-pub-mini{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.jvvs-pub-mini div{border-radius:20px;padding:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.jvvs-pub-mini strong{display:block;font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:.08em}
.jvvs-pub-mini span{display:block;margin-top:6px;font-size:13px;color:#e8f2ff}
.jvvs-pub-verdict{
  margin-top:12px;border-radius:24px;padding:16px 18px;font-weight:900;
  text-align:center;letter-spacing:.08em
}
.jvvs-pub-verdict.jvvs-ok{background:rgba(34,197,94,.14);color:#14532d;border:1px solid rgba(34,197,94,.24)}
.jvvs-pub-verdict.jvvs-bad{background:rgba(239,68,68,.14);color:#7f1d1d;border:1px solid rgba(239,68,68,.24)}
.jvvs-pub-authbox{margin-top:16px;border-radius:24px;padding:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.jvvs-pub-authbox span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:10px}
.jvvs-pub-page .jvvs-auth{background:#fff}
@media (max-width: 1024px){
  .jvvs-pub-hero--detailed{grid-template-columns:1fr}
  .jvvs-pub-stats,.jvvs-pub-featurelist,.jvvs-pub-grid--wide{grid-template-columns:1fr}
}
@media (max-width: 680px){
  .jvvs-front-shell{padding:14px;border-radius:24px}
  .jvvs-front-topbar{padding:12px 14px;border-radius:18px}
  .jvvs-front-topbar__meta{display:none}
  .jvvs-pub-page .jvvs-pub-copy,.jvvs-pub-page .jvvs-pub-panel{padding:22px}
  .jvvs-pub-mini{grid-template-columns:1fr}
}


/* v7.3 enhanced published frontend */
.jvvs-pub-showcase{margin-top:26px;padding:28px;border-radius:30px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.7);box-shadow:var(--jvvs-shadow-soft)}
.jvvs-pub-showcase__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.jvvs-pub-showcase__head h2{margin:6px 0 0;font-size:clamp(26px,2vw,36px);color:var(--jvvs-brand)}
.jvvs-pub-showcase__head p{margin:0;max-width:520px;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-service-demo-grid,.jvvs-trip-demo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.jvvs-service-demo-card,.jvvs-trip-demo-card{position:relative;overflow:hidden;padding:22px;border-radius:24px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)}
.jvvs-service-demo-card__type,.jvvs-trip-demo-card__tag{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(var(--jvvs-brand-rgb),.08);color:var(--jvvs-brand);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.jvvs-service-demo-card h3,.jvvs-trip-demo-card h3{margin:14px 0 8px;font-size:20px;line-height:1.1}
.jvvs-service-demo-card p,.jvvs-trip-demo-card p{margin:0;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-service-demo-card__foot{margin-top:16px;padding-top:14px;border-top:1px dashed var(--jvvs-line);font-size:13px;color:var(--jvvs-ink)}
.jvvs-trip-demo-card__glow{position:absolute;inset:auto auto -30px -20px;width:140px;height:140px;border-radius:999px;background:radial-gradient(circle, rgba(var(--jvvs-brand-rgb),.16), transparent 65%)}
.jvvs-trip-demo-card__route{margin-top:12px;font-weight:700;color:var(--jvvs-brand)}
.jvvs-trip-demo-card__progress{height:10px;margin:16px 0;border-radius:999px;background:#eaf2fc;overflow:hidden}
.jvvs-trip-demo-card__progress span{display:block;height:100%;width:72%;border-radius:999px;background:linear-gradient(90deg,var(--jvvs-brand),#69b1ff);animation:jvvsProgress 4s ease-in-out infinite}
.jvvs-trip-demo-card ul{margin:16px 0 0;padding-left:18px;color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-trip-index{display:grid;gap:24px}
.jvvs-trip-index__hero{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch}
.jvvs-trip-index__copy,.jvvs-trip-index__panel{padding:28px;border-radius:30px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.7);box-shadow:var(--jvvs-shadow-soft)}
.jvvs-trip-index__copy h1{margin:8px 0 14px;font-size:clamp(34px,3vw,54px);line-height:1.02;color:var(--jvvs-brand)}
.jvvs-trip-index__copy p{color:var(--jvvs-ink-soft);line-height:1.8}
.jvvs-trip-index__stats,.jvvs-trip-index__sections,.jvvs-trip-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jvvs-trip-index__stats article{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--jvvs-line)}
.jvvs-trip-index__stats strong{display:block;margin-bottom:6px;font-size:16px;color:var(--jvvs-brand)}
.jvvs-trip-index__stats span{font-size:14px;color:var(--jvvs-ink-soft);line-height:1.6}
.jvvs-trip-index__floating{position:relative;margin-top:18px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#08162e,#103866);color:#fff;overflow:hidden}
.jvvs-trip-index__floating-line{height:4px;border-radius:999px;background:rgba(255,255,255,.16);position:relative}
.jvvs-trip-index__floating-line span{position:absolute;left:0;top:0;bottom:0;width:78%;border-radius:999px;background:linear-gradient(90deg,#7cc7ff,#fff);animation:jvvsProgress 4.8s ease-in-out infinite}
.jvvs-trip-index__plane{position:absolute;top:7px;left:72%;font-size:22px;animation:jvvsPlane 4.8s ease-in-out infinite}
.jvvs-trip-index__stops{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.jvvs-trip-live-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 20px;border-radius:24px;margin-bottom:18px}
.jvvs-trip-live-ribbon__item strong{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6b7280;margin-bottom:8px}
.jvvs-trip-live-ribbon__item span{font-weight:800;font-size:16px;color:var(--jvvs-brand)}
.jvvs-trip-overview-card{padding:18px 20px;border-radius:22px}
.jvvs-trip-overview-card strong{display:block;font-size:20px;color:var(--jvvs-brand);margin-bottom:8px}
.jvvs-trip-overview-card p{margin:0;color:var(--jvvs-ink-soft);line-height:1.7}
@keyframes jvvsPlane{0%{left:8%}50%{left:72%}100%{left:8%}}
@keyframes jvvsProgress{0%{width:28%}50%{width:78%}100%{width:28%}}
@media (max-width:1100px){
  .jvvs-service-demo-grid,.jvvs-trip-demo-grid,.jvvs-trip-index__stats,.jvvs-trip-index__sections,.jvvs-trip-overview-grid,.jvvs-trip-live-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jvvs-trip-index__hero{grid-template-columns:1fr}
  .jvvs-pub-showcase__head{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
  .jvvs-service-demo-grid,.jvvs-trip-demo-grid,.jvvs-trip-index__stats,.jvvs-trip-index__sections,.jvvs-trip-overview-grid,.jvvs-trip-live-ribbon{grid-template-columns:1fr}
  .jvvs-trip-index__stops{grid-template-columns:repeat(2,1fr)}
}


/* v7.4.0 published traveller upgrades */
.jvvs-front-app--published{position:relative}
.jvvs-trip-sidebar-nav{
  position:fixed;left:max(12px,calc((100vw - 1320px)/2 + 12px));top:132px;z-index:9;
  display:flex;flex-direction:column;gap:10px
}
.jvvs-trip-sidebar-nav a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:74px;min-height:74px;padding:10px;border-radius:24px;text-decoration:none;color:var(--jvvs-ink);
  background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--jvvs-shadow-soft);backdrop-filter:blur(14px);font-weight:800;font-size:11px
}
.jvvs-trip-sidebar-nav a span{font-size:18px}
.jvvs-trip-sidebar-nav a:hover{transform:translateY(-2px);box-shadow:var(--jvvs-shadow-glow)}
.jvvs-route-svg{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none
}
.jvvs-route-svg polyline{
  fill:none;stroke:rgba(12,68,118,.55);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:4 3;animation:jvvsRouteDash 18s linear infinite
}
@keyframes jvvsRouteDash{
  from{stroke-dashoffset:36}
  to{stroke-dashoffset:0}
}
.jvvs-service-tabs-wrap{
  padding:24px 26px;border-radius:30px;border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,253,.95));
  box-shadow:var(--jvvs-shadow-glow)
}
.jvvs-service-tabnav{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:16px
}
.jvvs-service-tab{
  appearance:none;border:1px solid var(--jvvs-line);background:#fff;color:var(--jvvs-ink);
  padding:12px 18px;border-radius:999px;font-weight:800;cursor:pointer;box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-service-tab.active{
  color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--jvvs-brand),#2c7be5)
}
.jvvs-service-panels{margin-top:16px}
.jvvs-service-panel{
  display:none;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft)
}
.jvvs-service-panel.active{display:block}
.jvvs-service-panel__top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px
}
.jvvs-service-panel__top h4{margin:8px 0 0;font-size:24px;line-height:1.1}
.jvvs-service-panel__meta{
  padding:10px 14px;border-radius:999px;background:rgba(var(--jvvs-brand-rgb),.08);
  color:var(--jvvs-brand);font-weight:800;font-size:12px;white-space:nowrap
}
.jvvs-service-empty{
  padding:18px;border-radius:20px;border:1px dashed rgba(var(--jvvs-brand-rgb),.28);
  background:rgba(var(--jvvs-brand-rgb),.04);color:var(--jvvs-ink-soft)
}
@media (max-width:1460px){
  .jvvs-trip-sidebar-nav{display:none}
}


/* --- v7.7 advanced published result UI --- */
.jvvs-result-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch;margin-top:18px;padding:22px;border-radius:32px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(12,68,118,.92),rgba(8,22,46,.98) 68%,rgba(44,123,229,.88));color:#fff;box-shadow:0 30px 80px rgba(8,22,46,.18)}
.jvvs-result-hero:before,.jvvs-result-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.jvvs-result-hero:before{width:240px;height:240px;right:-80px;top:-80px}.jvvs-result-hero:after{width:180px;height:180px;left:-50px;bottom:-50px}
.jvvs-result-hero>*{position:relative;z-index:1}.jvvs-result-hero__copy h1{color:#fff;font-size:clamp(34px,4vw,56px);margin:8px 0 12px}.jvvs-result-hero__copy p{color:rgba(255,255,255,.88)}
.jvvs-result-hero .jvvs-pub-badges span{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}
.jvvs-result-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.jvvs-result-hero__panel{display:flex;align-items:stretch}.jvvs-result-hero__panel .jvvs-pub-panel{width:100%;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.jvvs-result-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.jvvs-result-status-strip div{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.jvvs-result-status-strip strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-bottom:4px}.jvvs-result-status-strip span{font-weight:700}
.jvvs-result-grid .jvvs-pub-card{position:relative;overflow:hidden}.jvvs-result-grid .jvvs-pub-card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--jvvs-brand),var(--jvvs-brand-3))}
.jvvs-result-sections{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}.jvvs-result-section-card{padding:24px;border-radius:28px}
.jvvs-verify-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jvvs-verify-service-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft)}.jvvs-verify-service-card strong{display:block;font-size:18px;line-height:1.2;margin:6px 0 8px}.jvvs-verify-service-card p{margin:0;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-result-flow{display:grid;gap:14px}.jvvs-result-flow__step{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:20px;border:1px solid var(--jvvs-line);background:linear-gradient(180deg,#fff,#f8fbff)}.jvvs-result-flow__step span{display:block;width:18px;height:18px;border-radius:50%;margin-top:2px;background:#d7e5f6;box-shadow:0 0 0 6px rgba(12,68,118,.06)}.jvvs-result-flow__step.is-active span{background:linear-gradient(135deg,var(--jvvs-brand),var(--jvvs-brand-3));animation:jvvsPulse 2s infinite}.jvvs-result-flow__step strong{display:block;margin-bottom:4px}.jvvs-result-flow__step small{display:block;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-trip-result-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.jvvs-trip-result-band__card{padding:20px 22px;border-radius:26px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--jvvs-line);box-shadow:var(--jvvs-shadow-soft);position:relative;overflow:hidden}.jvvs-trip-result-band__card:before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--jvvs-brand),var(--jvvs-brand-3))}.jvvs-trip-result-band__card strong{display:block;font-size:24px;line-height:1.1;margin:6px 0 8px}.jvvs-trip-result-band__card p{margin:0;color:var(--jvvs-ink-soft);line-height:1.7}
.jvvs-front-app--published .jvvs-surface-soft,.jvvs-front-app--published .jvvs-daytab,.jvvs-front-app--published .jvvs-doc-link,.jvvs-front-app--published .jvvs-service-panel{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}.jvvs-front-app--published .jvvs-surface-soft:hover,.jvvs-front-app--published .jvvs-daytab:hover,.jvvs-front-app--published .jvvs-doc-link:hover,.jvvs-front-app--published .jvvs-service-panel:hover{transform:translateY(-2px);box-shadow:0 24px 50px rgba(8,22,46,.12);border-color:rgba(12,68,118,.18)}
.jvvs-front-topbar,.jvvs-pub-panel,.jvvs-trip-index__panel .jvvs-pub-panel{backdrop-filter:blur(18px)}
.jvvs-trip-index__hero,.jvvs-pub-hero--detailed{position:relative;overflow:hidden}.jvvs-trip-index__hero:before,.jvvs-pub-hero--detailed:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right, rgba(124,199,255,.18), transparent 24%), radial-gradient(circle at bottom left, rgba(12,68,118,.10), transparent 28%)}
.jvvs-progress-track__fill{background:linear-gradient(90deg,var(--jvvs-brand),var(--jvvs-brand-3));background-size:200% 100%;animation:jvvsFlow 8s linear infinite}
.jvvs-live-feed-item,.jvvs-supplier-step,.jvvs-doc-link{animation:jvvsRise .6s ease both}.jvvs-live-feed-item:nth-child(2),.jvvs-supplier-step:nth-child(2),.jvvs-doc-link:nth-child(2){animation-delay:.08s}.jvvs-live-feed-item:nth-child(3),.jvvs-supplier-step:nth-child(3),.jvvs-doc-link:nth-child(3){animation-delay:.16s}.jvvs-live-feed-item:nth-child(4),.jvvs-supplier-step:nth-child(4),.jvvs-doc-link:nth-child(4){animation-delay:.24s}
@keyframes jvvsFlow{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes jvvsRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes jvvsPulse{0%,100%{box-shadow:0 0 0 0 rgba(12,68,118,.28)}50%{box-shadow:0 0 0 10px rgba(12,68,118,0)}}
@media (max-width:980px){.jvvs-result-hero,.jvvs-result-sections,.jvvs-trip-result-band,.jvvs-verify-service-grid{grid-template-columns:1fr}.jvvs-result-status-strip{grid-template-columns:1fr}.jvvs-result-hero__panel{order:-1}}


/* v7.8.0 published-content refinements */
.jvvs-anim-rise{animation:jvvsRise .8s ease both}
.jvvs-anim-stagger > *{opacity:0;transform:translateY(18px);animation:jvvsRise .7s ease forwards}
.jvvs-anim-stagger > *:nth-child(1){animation-delay:.04s}
.jvvs-anim-stagger > *:nth-child(2){animation-delay:.10s}
.jvvs-anim-stagger > *:nth-child(3){animation-delay:.16s}
.jvvs-anim-stagger > *:nth-child(4){animation-delay:.22s}
.jvvs-anim-stagger > *:nth-child(5){animation-delay:.28s}
.jvvs-front-topbar__meta span,.jvvs-pub-badges span,.jvvs-portal-pill{backdrop-filter: blur(12px);}
.jvvs-trip-index__hero{
  position:relative; overflow:hidden; border-radius:34px;
  background:
    radial-gradient(circle at 10% 10%, rgba(var(--jvvs-brand-rgb),.18), transparent 26%),
    radial-gradient(circle at 100% 0%, rgba(124,199,255,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,251,255,.92));
  border:1px solid rgba(255,255,255,.7); box-shadow: var(--jvvs-shadow-glow);
}
.jvvs-trip-index__hero:before{
  content:""; position:absolute; inset:auto -80px -100px auto; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(var(--jvvs-brand-rgb),.10), rgba(var(--jvvs-brand-rgb),0) 70%); pointer-events:none;
}
.jvvs-result-hero{overflow:hidden; position:relative;}
.jvvs-result-hero:after{
  content:""; position:absolute; right:-40px; top:-50px; width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,0) 68%);
}
.jvvs-trip-progressbar{position:relative; overflow:hidden;}
.jvvs-trip-progressbar > span:after{
  content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform:translateX(-100%); animation:jvvsShimmer 2.4s linear infinite;
}
@keyframes jvvsRise{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:translateY(0)}}
@keyframes jvvsShimmer{to{transform:translateX(100%)}}


/* v7.9 live traveller result polish */
.jvvs-result-shell-grid{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:0 30px 10px;
}
.jvvs-result-section-rail{
  position:sticky;
  top:24px;
  border-radius:26px;
  padding:18px;
}
.jvvs-result-section-rail a{
  display:block;
  text-decoration:none;
  color:var(--jvvs-ink);
  padding:14px 14px;
  border-radius:18px;
  margin-top:10px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.jvvs-result-section-rail a:hover{
  transform:translateX(4px);
  border-color:rgba(var(--jvvs-brand-rgb),.24);
  box-shadow:0 16px 30px rgba(8,22,46,.10);
}
.jvvs-result-section-rail strong{display:block;font-size:14px;margin-bottom:3px;color:var(--jvvs-brand)}
.jvvs-result-section-rail small{display:block;color:var(--jvvs-ink-soft);line-height:1.5}
.jvvs-result-shell-main{min-width:0}
.jvvs-trip-overview-card--highlight{background:linear-gradient(180deg,#ffffff,#f4f9ff);border:1px solid rgba(var(--jvvs-brand-rgb),.14)}
.jvvs-trip-overview-card--highlight strong{font-size:24px}
.jvvs-journey-map--advanced .jvvs-daytab{position:relative;overflow:hidden}
.jvvs-journey-map--advanced .jvvs-daytab:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-120%);animation:jvvsDayShine 5.2s linear infinite}
@keyframes jvvsDayShine{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.jvvs-world-plane{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--jvvs-brand),#1f6fb5);box-shadow:0 14px 28px rgba(var(--jvvs-brand-rgb),.28)}
.jvvs-world-plane:before{content:"✈";color:#fff;font-size:18px}
.jvvs-docs-head h3,.jvvs-oth-section h2,.jvvs-progress-stagebar h2{letter-spacing:-.03em}
.jvvs-trip-live-ribbon,.jvvs-progress-stagebar,.jvvs-trip-overview-grid,.jvvs-mobile-quicktiles,.jvvs-service-tabs-wrap,.jvvs-journey-map,.jvvs-oth-cards{animation:jvvsRise .6s ease both}
.jvvs-progress-stagebar{animation-delay:.05s}.jvvs-trip-overview-grid{animation-delay:.1s}.jvvs-service-tabs-wrap{animation-delay:.15s}.jvvs-journey-map{animation-delay:.2s}.jvvs-oth-cards{animation-delay:.25s}
@keyframes jvvsRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:1080px){.jvvs-result-shell-grid{grid-template-columns:1fr;padding:0 18px 8px}.jvvs-result-section-rail{position:relative;top:auto;order:-1}}


body.jvvs-front-standalone{
  background:
    radial-gradient(circle at top left, rgba(12,68,118,.10), transparent 24%),
    linear-gradient(180deg,#edf4fb 0%, #f8fbff 100%);
  margin:0;
}
.jvvs-front-standalone .site,
.jvvs-front-standalone .site-content,
.jvvs-front-standalone #page{background:transparent}
.jvvs-front-standalone .jvvs-front-shell{margin:34px auto}
.jvvs-reveal-ready{
  opacity:0;
  transform:translateY(24px) scale(.985);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--jvvs-delay,0ms);
}
.jvvs-reveal-ready.jvvs-reveal-in{
  opacity:1;
  transform:translateY(0) scale(1);
}
.jvvs-services [data-jvvs-panel]{display:none}
.jvvs-services [data-jvvs-panel].is-active{display:block;animation:jvvsFadeSlide .45s ease}
.jvvs-services [data-jvvs-tab].is-active{
  background:linear-gradient(135deg,var(--jvvs-brand),#1f6fb5);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 30px rgba(var(--jvvs-brand-rgb),.24);
}
@keyframes jvvsFadeSlide{
  from{opacity:0; transform:translateY(12px)}
  to{opacity:1; transform:translateY(0)}
}


/* --- v8.2 voyage assist result rebuild --- */
.jvvs-verify.jvvs-front-shell{
  max-width:1440px;
}
.jvvs-front-app--published{
  padding:18px 0 34px;
}
.jvvs-result-shell-grid{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.jvvs-result-shell-main{
  display:grid;
  gap:18px;
}
.jvvs-trip-live-ribbon{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  padding:18px 22px;
  border-radius:28px;
  margin:18px 30px 0;
}
.jvvs-trip-live-ribbon__item{
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
}
.jvvs-trip-live-ribbon__item strong{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#667085;margin-bottom:6px}
.jvvs-trip-live-ribbon__item span{display:block;font-weight:800;font-size:15px;color:var(--jvvs-ink)}

.jvvs-progress-stagebar,
.jvvs-portal-welcome,
.jvvs-service-tabs-wrap,
.jvvs-mapstage,
.jvvs-surface-soft#jvvs-driver,
.jvvs-surface-soft#jvvs-docs,
.jvvs-surface-soft#jvvs-live-feed,
.jvvs-surface-soft#jvvs-support-footer{
  border-radius:30px;
  padding:24px 26px;
}
.jvvs-trip-overview-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.jvvs-trip-overview-card{
  min-height:170px;
  padding:22px;
  border-radius:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.jvvs-trip-overview-card strong{font-size:24px;line-height:1.1}
.jvvs-trip-overview-card p{margin:10px 0 0;line-height:1.7}

.jvvs-service-panels{
  display:grid;
}
.jvvs-service-panel{
  display:none;
}
.jvvs-service-panel.active{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  animation:jvvsPanelReveal .45s ease both;
}
@keyframes jvvsPanelReveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

.jvvs-journey-map--advanced{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:18px;
  align-items:start;
}
.jvvs-mapstage{
  position:sticky;
  top:24px;
}
.jvvs-daypanel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-content:start;
}
.jvvs-daytab{
  position:relative;
  text-align:left;
  min-height:182px;
  padding:20px;
  border-radius:24px;
  overflow:hidden;
  isolation:isolate;
}
.jvvs-daytab:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(var(--jvvs-brand-rgb),.06),transparent 58%);
  z-index:-1;
}
.jvvs-daytab:after{
  content:"";
  position:absolute;
  inset:auto -18% -28% auto;
  width:150px;height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(124,199,255,.26),transparent 68%);
  z-index:-1;
}
.jvvs-daytab.active{
  background:linear-gradient(180deg,#ffffff,#f3f8ff);
  border-color:rgba(var(--jvvs-brand-rgb),.24);
  transform:translateY(-2px);
  box-shadow:0 24px 48px rgba(8,22,46,.12);
}
.jvvs-daytab.active .jvvs-daynum{
  transform:translateY(-1px) scale(1.04);
}
.jvvs-daynum{
  transition:transform .24s ease;
}
.jvvs-daycopy{
  display:block;
  width:100%;
}
.jvvs-daycopy h3{font-size:21px;margin:8px 0 8px}
.jvvs-daycopy p{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.jvvs-daycopy .jvvs-mini{
  color:var(--jvvs-brand);
  font-weight:800;
}
.jvvs-daymeta{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.jvvs-daymeta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(var(--jvvs-brand-rgb),.08);
  color:var(--jvvs-brand);
  font-size:12px;
  font-weight:800;
}
.jvvs-daydetail-card{
  padding:22px 24px;
  border-radius:28px;
  border:1px solid var(--jvvs-line);
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  box-shadow:var(--jvvs-shadow-soft);
  margin-bottom:16px;
}
.jvvs-daydetail-card h3{
  margin:8px 0 6px;
  font-size:26px;
  color:var(--jvvs-brand);
}
.jvvs-daydetail-card p{
  margin:0;
  line-height:1.8;
  color:var(--jvvs-ink-soft);
}
.jvvs-daydetail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.jvvs-daydetail-grid article{
  padding:16px 18px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--jvvs-line);
}
.jvvs-daydetail-grid strong{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#667085;
  margin-bottom:6px;
}
.jvvs-daydetail-grid span{
  display:block;
  font-weight:800;
  color:var(--jvvs-ink);
}

.jvvs-oth-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.jvvs-oth-cards > .jvvs-surface-soft{
  padding:24px 26px;
  border-radius:30px;
}
.jvvs-doc-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.jvvs-live-feed{
  display:grid;
  gap:12px;
}
.jvvs-live-feed .jvvs-note-card{
  margin:0;
}
.jvvs-support-footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.jvvs-support-footer-grid > div{
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--jvvs-line);
  box-shadow:var(--jvvs-shadow-soft);
}

@media (max-width: 1280px){
  .jvvs-trip-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jvvs-journey-map--advanced{grid-template-columns:1fr}
  .jvvs-mapstage{position:relative;top:auto}
}
@media (max-width: 1100px){
  .jvvs-result-shell-grid{grid-template-columns:1fr}
  .jvvs-result-section-rail{display:none}
  .jvvs-trip-live-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 18px 0}
  .jvvs-trip-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jvvs-daypanel{grid-template-columns:1fr}
  .jvvs-oth-cards{grid-template-columns:1fr}
  .jvvs-support-footer-grid{grid-template-columns:1fr}
}
@media (max-width: 782px){
  .jvvs-front-shell{padding:12px}
  .jvvs-trip-live-ribbon{grid-template-columns:1fr;padding:14px}
  .jvvs-progress-stagebar,
  .jvvs-portal-welcome,
  .jvvs-service-tabs-wrap,
  .jvvs-mapstage,
  .jvvs-surface-soft#jvvs-driver,
  .jvvs-surface-soft#jvvs-docs,
  .jvvs-surface-soft#jvvs-live-feed,
  .jvvs-surface-soft#jvvs-support-footer,
  .jvvs-oth-hero{padding:18px}
  .jvvs-trip-overview-grid,
  .jvvs-daydetail-grid,
  .jvvs-doc-links{grid-template-columns:1fr}
  .jvvs-trip-result-band{grid-template-columns:1fr}
}


/* v8.4.0 result page readability fixes */
.jvvs-trip-shell,.jvvs-result-shell,.jvvs-assist-shell{color:#0b2038!important}
.jvvs-trip-shell p,.jvvs-trip-shell li,.jvvs-result-shell p,.jvvs-result-shell li,.jvvs-assist-shell p,.jvvs-assist-shell li{color:#42556d!important}
.jvvs-trip-shell h1,.jvvs-trip-shell h2,.jvvs-trip-shell h3,.jvvs-trip-shell h4,
.jvvs-result-shell h1,.jvvs-result-shell h2,.jvvs-result-shell h3,.jvvs-result-shell h4,
.jvvs-assist-shell h1,.jvvs-assist-shell h2,.jvvs-assist-shell h3,.jvvs-assist-shell h4{color:#0b2038!important}
.jvvs-trip-shell .hero-card,.jvvs-trip-shell .panel,.jvvs-result-shell .hero-card,.jvvs-result-shell .panel,.jvvs-assist-shell .hero-card,.jvvs-assist-shell .panel{
  background:rgba(255,255,255,.97)!important;border:1px solid rgba(12,68,118,.10)!important;box-shadow:0 20px 48px rgba(12,68,118,.10)!important
}
.jvvs-trip-shell .stat,.jvvs-result-shell .stat,.jvvs-assist-shell .stat{
  background:linear-gradient(180deg,#fff,#f7fbff)!important;color:#0b2038!important;border:1px solid rgba(12,68,118,.08)!important
}


/* v8.5.4 voyage assist layout hardening */
.jvvs-front-app--published,
.jvvs-front-app--published *{min-width:0}
.jvvs-front-app--published .jvvs-oth-hero--advanced,
.jvvs-front-app--published .jvvs-trip-live-ribbon,
.jvvs-front-app--published .jvvs-progress-stagebar,
.jvvs-front-app--published .jvvs-trip-overview-card,
.jvvs-front-app--published .jvvs-service-tabs-wrap,
.jvvs-front-app--published .jvvs-service-panel,
.jvvs-front-app--published .jvvs-mapstage,
.jvvs-front-app--published .jvvs-daydetail-card,
.jvvs-front-app--published .jvvs-daytab,
.jvvs-front-app--published .jvvs-doc-link,
.jvvs-front-app--published .jvvs-live-feed-item,
.jvvs-front-app--published .jvvs-supplier-step,
.jvvs-front-app--published .jvvs-support-footer,
.jvvs-front-app--published .jvvs-surface-soft{
  position:relative;
  overflow:hidden;
}
.jvvs-front-app--published .jvvs-oth-hero__copy,
.jvvs-front-app--published .jvvs-oth-hero__copy h1,
.jvvs-front-app--published .jvvs-oth-hero__copy p,
.jvvs-front-app--published .jvvs-oth-stat,
.jvvs-front-app--published .jvvs-oth-stat strong,
.jvvs-front-app--published .jvvs-oth-stat span,
.jvvs-front-app--published .jvvs-trip-live-ribbon__item span,
.jvvs-front-app--published .jvvs-trip-live-ribbon__item strong,
.jvvs-front-app--published .jvvs-docs-head h3,
.jvvs-front-app--published .jvvs-docs-head p,
.jvvs-front-app--published .jvvs-daycopy h3,
.jvvs-front-app--published .jvvs-daycopy p,
.jvvs-front-app--published .jvvs-daydetail-card h3,
.jvvs-front-app--published .jvvs-daydetail-card p,
.jvvs-front-app--published .jvvs-world-card,
.jvvs-front-app--published .jvvs-world-card strong,
.jvvs-front-app--published .jvvs-world-card p,
.jvvs-front-app--published .jvvs-block-copy,
.jvvs-front-app--published .jvvs-value,
.jvvs-front-app--published .jvvs-note-card,
.jvvs-front-app--published .jvvs-note-card p,
.jvvs-front-app--published .jvvs-rich-list,
.jvvs-front-app--published .jvvs-rich-list li,
.jvvs-front-app--published .jvvs-live-feed-item strong,
.jvvs-front-app--published .jvvs-live-feed-item p,
.jvvs-front-app--published .jvvs-supplier-step strong,
.jvvs-front-app--published .jvvs-supplier-step span,
.jvvs-front-app--published .jvvs-supplier-step small,
.jvvs-front-app--published .jvvs-supplier-step p,
.jvvs-front-app--published .jvvs-support-footer__copy h3,
.jvvs-front-app--published .jvvs-support-footer__copy p,
.jvvs-front-app--published .jvvs-result-section-rail strong,
.jvvs-front-app--published .jvvs-result-section-rail small{
  color:#0b2038!important;
}
.jvvs-front-app--published .jvvs-oth-hero__copy p,
.jvvs-front-app--published .jvvs-daycopy p,
.jvvs-front-app--published .jvvs-daydetail-card p,
.jvvs-front-app--published .jvvs-world-card p,
.jvvs-front-app--published .jvvs-block-copy,
.jvvs-front-app--published .jvvs-note-card p,
.jvvs-front-app--published .jvvs-rich-list li,
.jvvs-front-app--published .jvvs-live-feed-item p,
.jvvs-front-app--published .jvvs-supplier-step span,
.jvvs-front-app--published .jvvs-supplier-step p,
.jvvs-front-app--published .jvvs-support-footer__copy p,
.jvvs-front-app--published .jvvs-result-section-rail small,
.jvvs-front-app--published .jvvs-doc-link span,
.jvvs-front-app--published .jvvs-oth-stat span{
  color:#42556d!important;
}
.jvvs-front-app--published .jvvs-result-shell-grid,
.jvvs-front-app--published .jvvs-trip-overview-grid,
.jvvs-front-app--published .jvvs-journey-map--advanced,
.jvvs-front-app--published .jvvs-oth-cards,
.jvvs-front-app--published .jvvs-doc-links,
.jvvs-front-app--published .jvvs-live-feed-list,
.jvvs-front-app--published .jvvs-supplier-timeline,
.jvvs-front-app--published .jvvs-grid2,
.jvvs-front-app--published .jvvs-daypanel,
.jvvs-front-app--published .jvvs-service-panels,
.jvvs-front-app--published .jvvs-support-footer-grid{
  align-items:start;
}
.jvvs-front-app--published .jvvs-daytab,
.jvvs-front-app--published .jvvs-doc-link,
.jvvs-front-app--published .jvvs-live-feed-item,
.jvvs-front-app--published .jvvs-supplier-step,
.jvvs-front-app--published .jvvs-grid2 > div,
.jvvs-front-app--published .jvvs-trip-overview-card,
.jvvs-front-app--published .jvvs-service-panel{
  height:100%;
}
.jvvs-front-app--published .jvvs-daycopy,
.jvvs-front-app--published .jvvs-daycopy h3,
.jvvs-front-app--published .jvvs-daycopy p,
.jvvs-front-app--published .jvvs-doc-link span,
.jvvs-front-app--published .jvvs-value,
.jvvs-front-app--published .jvvs-note-card p,
.jvvs-front-app--published .jvvs-live-feed-item p,
.jvvs-front-app--published .jvvs-supplier-step p,
.jvvs-front-app--published .jvvs-world-detail{
  word-break:break-word;
  overflow-wrap:anywhere;
}
.jvvs-front-app--published .jvvs-daycopy p{
  -webkit-line-clamp:unset;
  display:block;
  overflow:visible;
}
.jvvs-front-app--published .jvvs-daytab{
  align-items:flex-start;
}
.jvvs-front-app--published .jvvs-daymeta{
  width:100%;
}
.jvvs-front-app--published .jvvs-result-section-rail a{
  overflow:hidden;
}
@media (max-width:1280px){
  .jvvs-front-app--published .jvvs-result-shell-grid{grid-template-columns:1fr}
  .jvvs-front-app--published .jvvs-result-section-rail{position:relative;top:auto}
}


/* v8.6.0 premium animated journey map */
.jvvs-journey-map--advanced{
  gap:22px;
}
.jvvs-mapstage{
  background:
    radial-gradient(circle at 12% 12%, rgba(124,199,255,.18), transparent 26%),
    radial-gradient(circle at 88% 10%, rgba(44,123,229,.12), transparent 24%),
    linear-gradient(180deg,#ffffff,#f5f9ff);
}
.jvvs-world{
  --jvvs-active-x:20%;
  --jvvs-active-y:50%;
  isolation:isolate;
}
.jvvs-world:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.34;
  z-index:1;
  pointer-events:none;
}
.jvvs-world:after{
  content:"";
  position:absolute;
  inset:auto;
  left:var(--jvvs-active-x);
  top:var(--jvvs-active-y);
  width:220px;
  height:220px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(124,199,255,.24), rgba(124,199,255,0) 68%);
  z-index:1;
  pointer-events:none;
  transition:left .75s ease, top .75s ease;
}
.jvvs-world-overlay{z-index:1}
.jvvs-route-svg{z-index:2}
.jvvs-route-svg polyline{
  stroke:rgba(12,68,118,.65);
  stroke-width:1.65;
  filter:drop-shadow(0 0 8px rgba(124,199,255,.24));
}
.jvvs-route-orbit{
  position:absolute;
  width:60px;
  height:60px;
  border-radius:50%;
  z-index:3;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,255,255,.34), rgba(124,199,255,.12) 40%, rgba(124,199,255,0) 70%);
  border:1px solid rgba(255,255,255,.35);
  transition:left .8s ease, top .8s ease;
  pointer-events:none;
  animation:jvvsOrbitPulse 2.4s ease-in-out infinite;
}
.jvvs-route-vehicle{
  position:absolute;
  width:36px;
  height:36px;
  z-index:5;
  border-radius:14px;
  transform:translate(-50%,-50%);
  background:linear-gradient(135deg,#0c4476,#2c7be5);
  box-shadow:0 16px 36px rgba(12,68,118,.25);
  transition:left .9s cubic-bezier(.22,.61,.36,1), top .9s cubic-bezier(.22,.61,.36,1), transform .3s ease;
  pointer-events:none;
}
.jvvs-route-vehicle:before{
  content:"🚘";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:18px;
  filter:saturate(1.05);
}
.jvvs-route-vehicle:after{
  content:attr(data-day);
  position:absolute;
  left:50%;
  top:-12px;
  transform:translateX(-50%);
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#fff;
  color:#0c4476;
  font-size:11px;
  font-weight:800;
  display:grid;
  place-items:center;
  box-shadow:0 8px 18px rgba(8,22,46,.12);
}
.jvvs-world-plane{
  opacity:.9;
  background:linear-gradient(135deg,#08162e,#0c4476);
}
.jvvs-world-plane:before{content:"✦";font-size:16px}
.jvvs-map-pin{z-index:6}
.jvvs-map-pin:before{width:18px;height:18px}
.jvvs-map-pin.is-active:before{
  transform:scale(1.08);
  box-shadow:0 0 0 12px rgba(var(--jvvs-brand-rgb),.14), 0 0 0 22px rgba(124,199,255,.08);
}
.jvvs-world-card{
  z-index:7;
  max-width:360px;
  backdrop-filter:blur(16px);
}
.jvvs-daypanel{
  max-height:920px;
  overflow:auto;
  padding-right:6px;
  scroll-snap-type:y proximity;
}
.jvvs-daypanel::-webkit-scrollbar{width:8px}
.jvvs-daypanel::-webkit-scrollbar-thumb{background:rgba(12,68,118,.18);border-radius:999px}
.jvvs-daytab{
  scroll-snap-align:start;
  border:1px solid rgba(12,68,118,.08);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.jvvs-daytab:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(8,22,46,.10);
}
.jvvs-daytab.active{
  border-color:rgba(12,68,118,.22);
  box-shadow:0 22px 46px rgba(8,22,46,.14);
}
.jvvs-daytab.active .jvvs-daymeta span:first-child{
  background:linear-gradient(135deg,#0c4476,#2c7be5);
  color:#fff;
}
.jvvs-daydetail-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(124,199,255,.18), transparent 26%),
    linear-gradient(180deg,#ffffff,#f5f9ff);
}
.jvvs-daydetail-card:after{
  content:"";
  position:absolute;
  inset:auto -30px -32px auto;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(12,68,118,.12), rgba(12,68,118,0) 70%);
  pointer-events:none;
}
@keyframes jvvsOrbitPulse{
  0%,100%{transform:translate(-50%,-50%) scale(1)}
  50%{transform:translate(-50%,-50%) scale(1.08)}
}
@media (max-width: 1280px){
  .jvvs-daypanel{max-height:none;overflow:visible;padding-right:0}
}
