.web-push-button{position:relative}.web-push-button .web-push-indicator{display:none;position:absolute;right:8px;top:8px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#22c55e}.web-push-button.is-active .web-push-indicator{display:block}.web-push-backdrop{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.web-push-dialog{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);color:#142033}.web-push-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.web-push-dialog header div{display:grid;gap:4px}.web-push-dialog header small{font-weight:800;color:#397bd2;text-transform:uppercase;letter-spacing:.06em}.web-push-dialog header strong{font-size:1.45rem}.web-push-dialog header button{width:42px;height:42px;border:0;border-radius:14px;background:#f1f5f9;font-size:1.5rem;cursor:pointer}.web-push-dialog>p{margin:0 0 18px;color:#64748b}.web-push-state{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;padding:16px;border:1px solid #dbeafe;border-radius:16px;background:#eff6ff}.web-push-state span{color:#64748b}.web-push-dialog form{display:grid;gap:10px}.web-push-dialog form>label{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:14px;font-weight:700}.web-push-dialog input{width:20px;height:20px}.web-push-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.web-push-ios{display:block;margin-top:16px;color:#64748b}.web-push-toast{position:fixed;z-index:10100;left:50%;bottom:24px;max-width:min(520px,calc(100% - 32px));transform:translate(-50%,30px);opacity:0;padding:12px 18px;border-radius:12px;background:#172033;color:#fff;transition:.2s}.web-push-toast.is-visible{transform:translate(-50%,0);opacity:1}@media(max-width:620px){.web-push-backdrop{padding:12px}.web-push-dialog{padding:20px;border-radius:20px}.web-push-state{display:grid}.web-push-dialog footer{display:grid}.web-push-dialog footer button{width:100%}}
