.jtpwa-launcher{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:949;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border:1px solid rgba(123,31,162,.18);border-radius:25px;background:#fff;box-shadow:0 8px 24px rgba(74,0,114,.18);color:#4a0072;font:600 .86rem/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}

.jtpwa-launcher:hover,.jtpwa-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(74,0,114,.25);outline:none}
.jtpwa-launcher[hidden]{display:none}
.jtpwa-overlay{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(26,35,126,.32);backdrop-filter:blur(4px)}
.jtpwa-overlay.jtpwa-open{display:flex}
.jtpwa-dialog{width:min(520px,100%);max-height:min(720px,calc(100dvh - 36px));overflow:auto;border:1px solid var(--border,#f3e5f5);border-radius:8px;background:var(--bg,#f5f9ff);box-shadow:0 24px 70px rgba(74,0,114,.3);color:var(--text,#1a237e);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif}
.jtpwa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;background:linear-gradient(135deg,#7b1fa2,#4a0072);color:#fff}
.jtpwa-head h2{margin:0;color:#fff;font-size:1.22rem;font-weight:500;letter-spacing:0;line-height:1.3}
.jtpwa-head p{margin:5px 0 0;color:#f3e5f5;font-size:.82rem;line-height:1.45}
.jtpwa-close{flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.15rem;cursor:pointer}
.jtpwa-body{padding:20px}
.jtpwa-body p{margin:0 0 14px;color:#546e7a;font-size:.92rem;line-height:1.6}
.jtpwa-steps{display:grid;gap:9px;margin:4px 0 18px;padding:0;list-style:none;counter-reset:jtpwa}
.jtpwa-steps li{position:relative;margin:0;padding:11px 12px 11px 46px;border:1px solid var(--border,#f3e5f5);border-radius:8px;background:#fff;color:#546e7a;font-size:.88rem;line-height:1.45;counter-increment:jtpwa}
.jtpwa-steps li::before{position:absolute;top:10px;left:11px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#7b1fa2;color:#fff;font-size:.76rem;font-weight:700;content:counter(jtpwa)}
.jtpwa-offline{margin-top:16px;padding:16px;border:1px solid var(--border,#f3e5f5);border-left:4px solid #ffb300;border-radius:8px;background:#fff}
.jtpwa-offline h3{margin:0 0 7px;color:#4a0072;font-size:1rem;font-weight:600}
.jtpwa-offline p{margin-bottom:10px;font-size:.82rem}
.jtpwa-progress{height:8px;margin:12px 0 7px;overflow:hidden;border-radius:4px;background:#f3e5f5}
.jtpwa-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#7b1fa2,#ffb300);transition:width .25s ease}
.jtpwa-status{min-height:20px;color:#7e57c2;font-size:.76rem;line-height:1.45}
.jtpwa-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.jtpwa-action{min-height:42px;padding:0 15px;border:1px solid rgba(123,31,162,.2);border-radius:8px;background:#fff;color:#4a0072;font:600 .82rem/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;cursor:pointer}
.jtpwa-action-primary{border-color:transparent;background:linear-gradient(135deg,#7b1fa2,#4a0072);color:#fff}
.jtpwa-action:disabled{cursor:wait;opacity:.62}
.jtpwa-note{margin-top:12px;color:#7e57c2!important;font-size:.76rem!important}
body.jtpwa-modal-open{overflow:hidden}
@media(max-width:560px){.jtpwa-launcher{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:0;color:transparent}.jtpwa-dialog{max-height:calc(100dvh - 16px)}.jtpwa-overlay{align-items:flex-end;padding:8px}.jtpwa-body,.jtpwa-head{padding:16px}.jtpwa-actions{display:grid}.jtpwa-action{width:100%}}
@media(prefers-reduced-motion:reduce){.jtpwa-launcher,.jtpwa-progress span{transition:none}}
.jtpwa-launcher{width:46px;min-width:46px;max-width:46px;height:46px;min-height:46px;padding:0;border-radius:999px;overflow:hidden;white-space:nowrap;font-size:0;color:transparent}

.jtpwa-launcher.jt-floating-intro,.jtpwa-launcher:hover,.jtpwa-launcher:focus-visible{width:auto;min-width:46px;max-width:min(210px,calc(100vw - 32px));padding:0 16px 0 13px;border-radius:999px;color:#4a0072;font-size:.84rem}
.jtpwa-launcher.jt-floating-intro::before,.jtpwa-launcher:hover::before,.jtpwa-launcher:focus-visible::before{margin-right:0}
@media(max-width:560px){.jtpwa-launcher{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:0;color:transparent}.jtpwa-launcher.jt-floating-intro,.jtpwa-launcher:hover,.jtpwa-launcher:focus-visible{width:auto;min-width:44px;max-width:min(165px,calc(50vw - 18px));padding:0 13px;border-radius:999px;font-size:.76rem;color:#4a0072}.jtpwa-launcher.jt-floating-intro::before,.jtpwa-launcher:hover::before,.jtpwa-launcher:focus-visible::before{margin-right:0}}
.jtpwa-launcher{left:auto;right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 112px);width:46px;min-width:46px;max-width:46px;height:46px;min-height:46px;padding:0;border-radius:999px;overflow:hidden;white-space:nowrap;font-size:0;color:transparent;transition:width .18s ease,max-width .18s ease,padding .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease,font-size .18s ease}

.jtpwa-launcher.jt-floating-intro,.jtpwa-launcher:hover,.jtpwa-launcher:focus-visible{width:auto;min-width:46px;max-width:min(210px,calc(100vw - 32px));padding:0 16px 0 13px;border-radius:999px;color:#4a0072;font-size:.84rem}
.jtpwa-launcher.jt-floating-intro::before,.jtpwa-launcher:hover::before,.jtpwa-launcher:focus-visible::before{margin-right:0}
@media(max-width:560px){.jtpwa-launcher{left:auto;right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 104px);width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px}.jtpwa-launcher.jt-floating-intro,.jtpwa-launcher:hover,.jtpwa-launcher:focus-visible{width:auto;min-width:44px;max-width:min(172px,calc(100vw - 28px));padding:0 13px;border-radius:999px;font-size:.76rem;color:#4a0072}.jtpwa-launcher.jt-floating-intro::before,.jtpwa-launcher:hover::before,.jtpwa-launcher:focus-visible::before{margin-right:0}}


body.menu-open .jtal-launcher,body.menu-open .jtpwa-launcher,body.menu-open .jt-emergency-japa-fab,body.jtpwa-modal-open .jtal-launcher,body.jtpwa-modal-open .jt-emergency-japa-fab{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.jt-floating-label{display:inline-block;white-space:nowrap}.jt-action-icon{stroke:currentColor;fill:none}

/* final floating stack */

.jt-action-icon {
  width: 21px;
  height: 21px;
  display: block;
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
}
.jt-floating-label,
.jt-emergency-japa-label {
  display: inline-block;
  white-space: nowrap;
}
.jtal-launcher,
.jt-emergency-japa-fab,
.jtpwa-launcher {
  left: auto !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transition: width .18s ease, max-width .18s ease, padding .18s ease, opacity .18s ease, transform .18s ease, box-shadow .18s ease, color .18s ease, font-size .18s ease !important;
}
.jtal-launcher { bottom: max(18px, env(safe-area-inset-bottom)) !important; }
.jt-emergency-japa-fab { bottom: calc(max(18px, env(safe-area-inset-bottom)) + 56px) !important; }
.jtpwa-launcher { bottom: calc(max(18px, env(safe-area-inset-bottom)) + 112px) !important; }
.jtal-launcher.jt-floating-intro,
.jtal-launcher:hover,
.jtal-launcher:focus-visible,
.jt-emergency-japa-fab.jt-floating-intro,
.jt-emergency-japa-fab:hover,
.jt-emergency-japa-fab:focus-visible,
.jtpwa-launcher.jt-floating-intro,
.jtpwa-launcher:hover,
.jtpwa-launcher:focus-visible {
  width: auto !important;
  min-width: 46px !important;
  max-width: min(230px, calc(100vw - 36px)) !important;
  padding: 0 15px 0 13px !important;
  font-size: .84rem !important;
}
.jtal-launcher.jt-floating-intro .jt-floating-label,
.jtal-launcher:hover .jt-floating-label,
.jtal-launcher:focus-visible .jt-floating-label,
.jt-emergency-japa-fab.jt-floating-intro .jt-emergency-japa-label,
.jt-emergency-japa-fab:hover .jt-emergency-japa-label,
.jt-emergency-japa-fab:focus-visible .jt-emergency-japa-label,
.jtpwa-launcher.jt-floating-intro .jt-floating-label,
.jtpwa-launcher:hover .jt-floating-label,
.jtpwa-launcher:focus-visible .jt-floating-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  opacity: 1 !important;
}
body.menu-open .jtal-launcher,
body.menu-open .jtpwa-launcher,
body.menu-open .jt-emergency-japa-fab,
body.jtal-modal-open .jtpwa-launcher,
body.jtal-modal-open .jt-emergency-japa-fab,
body.jtpwa-modal-open .jtal-launcher,
body.jtpwa-modal-open .jt-emergency-japa-fab,
body.jt-emergency-japa-open .jtal-launcher,
body.jt-emergency-japa-open .jtpwa-launcher {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 560px) {
  .jtal-launcher,
  .jt-emergency-japa-fab,
  .jtpwa-launcher {
    right: 12px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
  .jtal-launcher { bottom: max(12px, env(safe-area-inset-bottom)) !important; }
  .jt-emergency-japa-fab { bottom: calc(max(12px, env(safe-area-inset-bottom)) + 52px) !important; }
  .jtpwa-launcher { bottom: calc(max(12px, env(safe-area-inset-bottom)) + 104px) !important; }
  .jtal-launcher.jt-floating-intro,
  .jtal-launcher:hover,
  .jtal-launcher:focus-visible,
  .jt-emergency-japa-fab.jt-floating-intro,
  .jt-emergency-japa-fab:hover,
  .jt-emergency-japa-fab:focus-visible,
  .jtpwa-launcher.jt-floating-intro,
  .jtpwa-launcher:hover,
  .jtpwa-launcher:focus-visible {
    width: auto !important;
    min-width: 44px !important;
    max-width: min(214px, calc(100vw - 28px)) !important;
    padding: 0 13px !important;
    font-size: .76rem !important;
  }
}

/* color-only floating buttons */
.jtal-launcher,
.jt-emergency-japa-fab,
.jtpwa-launcher {
  border: 1px solid rgba(255, 255, 255, .34) !important;
  color: #fff !important;
  text-shadow: none !important;
}
.jtal-launcher {
  background: linear-gradient(135deg, #4a0072, #6d1b9a) !important;
  box-shadow: 0 10px 26px rgba(74, 0, 114, .28) !important;
}
.jt-emergency-japa-fab {
  background: linear-gradient(135deg, #b85c00, #f59f00) !important;
  box-shadow: 0 10px 26px rgba(184, 92, 0, .28) !important;
}
.jtpwa-launcher {
  background: linear-gradient(135deg, #00695c, #00897b) !important;
  box-shadow: 0 10px 26px rgba(0, 105, 92, .28) !important;
}
.jt-floating-label,
.jt-emergency-japa-label {
  opacity: 0 !important;
}
.jtal-launcher.jt-floating-intro .jt-floating-label,
.jtal-launcher:hover .jt-floating-label,
.jtal-launcher:focus-visible .jt-floating-label,
.jt-emergency-japa-fab.jt-floating-intro .jt-emergency-japa-label,
.jt-emergency-japa-fab:hover .jt-emergency-japa-label,
.jt-emergency-japa-fab:focus-visible .jt-emergency-japa-label,
.jtpwa-launcher.jt-floating-intro .jt-floating-label,
.jtpwa-launcher:hover .jt-floating-label,
.jtpwa-launcher:focus-visible .jt-floating-label {
  opacity: 1 !important;
}

.jtal-launcher::before,
.jtpwa-launcher::before,
.jt-emergency-japa-fab::before,
.jtal-launcher svg,
.jtpwa-launcher svg,
.jt-emergency-japa-fab svg,
.jtal-launcher img,
.jtpwa-launcher img,
.jt-emergency-japa-fab img,
.jt-action-icon,
.jt-emergency-japa-icon {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

@media (max-width: 560px) {
  .jtal-launcher,
  .jt-emergency-japa-fab,
  .jtpwa-launcher {
    right: max(10px, env(safe-area-inset-right)) !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .jtal-launcher { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 0px) !important; }
  .jt-emergency-japa-fab { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 48px) !important; }
  .jtpwa-launcher { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 96px) !important; }
  .jtal-launcher.jt-floating-intro,
  .jtal-launcher:hover,
  .jtal-launcher:focus-visible,
  .jt-emergency-japa-fab.jt-floating-intro,
  .jt-emergency-japa-fab:hover,
  .jt-emergency-japa-fab:focus-visible,
  .jtpwa-launcher.jt-floating-intro,
  .jtpwa-launcher:hover,
  .jtpwa-launcher:focus-visible {
    min-width: 40px !important;
    max-width: min(196px, calc(100vw - 24px)) !important;
    padding: 0 12px !important;
    font-size: .72rem !important;
  }
}

@media (max-width: 560px) {
  .jtal-launcher,
  .jt-emergency-japa-fab,
  .jtpwa-launcher {
    right: max(10px, env(safe-area-inset-right)) !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .jtal-launcher { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 0px) !important; }
  .jt-emergency-japa-fab { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 48px) !important; }
  .jtpwa-launcher { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 96px) !important; }
}
