.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::before{content:"↓";display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:7px;border:1px solid rgba(123,31,162,.28);border-radius:50%;color:#7b1fa2;font-size:.75rem;line-height:1}
.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-launcher::before{width:20px;height:20px;margin:0;color:#4a0072;font-size:.84rem}.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}}
